Group message management and control method and device, storage medium and program product
By receiving and verifying the publisher identity and group identity of messages, filtering subscribers and encrypting push, the problem of insecure message transmission in the existing system is solved, and precise control and security enhancement of group messages is achieved.
Patent Information
- Application Number
- CN202510583679.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-08-12
AI Technical Summary
The existing systems lack full-process security control in real-time communication and enterprise collaboration scenarios, cannot ensure the integrity and confidentiality of message transmission, and cannot dynamically adjust the transmission strategy based on user confidentiality level and group confidentiality level, resulting in an increase in the risk of information leakage, tampering and abuse.
By checking the message based on the publisher's identity, group identity and message confidentiality level, subscribers who meet the confidentiality level permissions are selected, and messages are encrypted and stored and pushed, supporting dynamic adjustment of the confidentiality level to achieve accurate push and security control.
Effectively prevent illegal users from sending messages, ensure legality and security, reduce irrelevant information interference, improve information acquisition efficiency, adapt to the diverse needs of different types of groups, and meet the multi-level control requirements in complex scenarios.
Smart Images

Figure CN120474760A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of network security technology, and in particular to a group message control method, device, storage medium, and program product. Background Art
[0002] With the increasing prevalence of informatization, information security management within organizations faces increasingly severe challenges. In information exchange scenarios such as instant messaging and enterprise collaboration, the security of message sending and push is crucial. However, existing systems suffer from significant flaws in these areas. First, existing systems lack comprehensive security control over message sending and push, failing to ensure the integrity and confidentiality of messages during transmission. Second, existing systems are unable to dynamically adjust message transmission policies based on user and group security levels, resulting in the risk of information leakage and tampering during transmission. This mechanism struggles to meet the requirements for multi-level, fine-grained control in complex scenarios, significantly increasing the risk of information leakage, tampering, and misuse. Summary of the Invention
[0003] In view of this, the embodiments of the present disclosure provide a group message management method, device, storage medium and program product, which can realize security verification, accurate push and management of group messages based on user confidentiality level, avoid improper spread of information, and ensure information security.
[0004] In a first aspect, the embodiments of the present disclosure provide a group message management method, which adopts the following technical solutions:
[0005] Receive a message sent by a sender, the message including a publisher identity, a group identifier, a message classification level, and a message body;
[0006] Verifying the message based on the publisher identity, the group identity, and the message confidentiality level;
[0007] If the verification is successful, the confidentiality levels of all group members in the group are extracted from the stored group information table based on the group identifier;
[0008] screening subscribers from the group members based on the confidentiality levels of the group members and the confidentiality level of the message;
[0009] Based on the identity of the subscriber, the message body is pushed to the corresponding terminal device.
[0010] Optionally, verifying the message based on the publisher identity, the group identifier, and the message confidentiality level includes:
[0011] Extracting the publisher's confidentiality level from the stored user information table according to the publisher's identity identifier, and extracting the group confidentiality level from the stored group information table according to the group identifier;
[0012] Determining whether the publisher's confidentiality level is not lower than the group's confidentiality level and the message's confidentiality level;
[0013] If it is lower than that, it is determined that the message verification fails;
[0014] If it is not lower than, it is determined that the message verification is successful.
[0015] Optionally, screening subscribers from the group members based on the confidentiality levels of the group members and the confidentiality levels of the message includes:
[0016] Comparing the confidentiality level of each group member with the confidentiality level of the message one by one;
[0017] If the confidentiality level of the group member is not lower than the confidentiality level of the message, the group member is determined to be a subscriber;
[0018] If the confidentiality level of the group member is lower than the confidentiality level of the message, the group member is determined to be a person with restricted authority.
[0019] Optionally, the pushing the message body to a corresponding terminal device based on the identity of the subscriber includes:
[0020] Encrypting and storing the message body;
[0021] Determine whether the subscriber's terminal device is offline;
[0022] If the system is in an offline state, the system waits for receiving a request to pull an offline message, wherein the offline message request includes an identity identifier of the requester;
[0023] After receiving the offline message pull request, verify the requester's identity;
[0024] If the verification is successful, the encrypted message body is sent to the subscriber’s terminal device;
[0025] If the verification fails, an error message is returned to the requesting terminal;
[0026] If the subscriber is online, the encrypted message body is sent to the subscriber's terminal device.
[0027] Optionally, the group message control method further includes:
[0028] When any user's information is updated, the change event type of the user is identified based on the change information;
[0029] When the change event type is a user security level change event or a user deletion event, count the target group to which the user belongs;
[0030] Based on the change event type, the confidentiality level of the target group is dynamically adjusted.
[0031] Optionally, dynamically adjusting the confidentiality level of the target group based on the change event type includes:
[0032] When the user is the group owner of the target group and the change event type is a user confidentiality level change event, determining whether the changed confidentiality level of the user is lower than the confidentiality level of the target group;
[0033] If it is lower, the security level of the target group is updated based on the changed security level of the user.
[0034] Optionally, the dynamically adjusting the confidentiality level of the target group based on the change event type further includes:
[0035] When the user is the group owner of the target group and the change event type is a user deletion event, deleting the user's information from the target group;
[0036] Determining whether the target group includes a group administrator;
[0037] If included, the group administrator with the highest confidentiality level will be changed to the new group owner;
[0038] If not included, the ordinary group member with the highest confidentiality level will be changed to the new group owner.
[0039] In a second aspect, the embodiments of the present disclosure further provide a group message management and control system, which adopts the following technical solutions:
[0040] A message receiving module is used to receive a message sent by a sender, wherein the message includes a publisher identity, a group identity, a message classification level, and a message body;
[0041] A message verification module, configured to verify the message based on the publisher identity, the group identity, and the message confidentiality level; if the verification is successful, executing the confidentiality level extraction module;
[0042] A confidentiality level extraction module, configured to extract the confidentiality levels of all group members in the group from the stored group information table based on the group identifier;
[0043] A member screening module, configured to screen subscribers from the group members based on the confidentiality level of the group members and the confidentiality level of the message;
[0044] The message push module is used to push the message body to the corresponding terminal device based on the identity of the subscriber.
[0045] In a third aspect, the embodiments of the present disclosure further provide a computer device that adopts the following technical solution:
[0046] The computer device comprises:
[0047] at least one processor; and,
[0048] a memory communicatively connected to the at least one processor; wherein,
[0049] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute any of the above-mentioned group message control methods.
[0050] In a fourth aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable a computer to execute any of the group message control methods described above.
[0051] In a fifth aspect, an embodiment of the present disclosure further provides a computer program product, comprising a computer program / instruction, which implements the steps of any of the above methods when executed by a processor.
[0052] The group message control method provided by the disclosed embodiments verifies messages based on the publisher's identity, group identifier, and message classification upon receiving them. This ensures that only publishers with the required classification authority can send messages of the corresponding classification, effectively preventing unauthorized users from sending messages to the group. Subscribers are screened based on the classification authority of group members and the classification authority of messages, ensuring that only group members with the required classification authority can receive messages of the corresponding classification authority, further enhancing information security. Furthermore, by extracting the classification authority of all group members from a stored group information table based on the group identifier and filtering subscribers based on the classification authority of the message, precise message push is achieved. The system can accurately push messages to the appropriate individuals based on the sensitivity of the message and the permissions of the group members. This precise push mechanism reduces the amount of irrelevant information received by group members and improves the efficiency of information acquisition. Group members are not distracted by a large number of irrelevant messages or messages that are not appropriate for their classification authority, allowing them to focus more on information related to their work or responsibilities. Furthermore, this method is applicable to various types of groups and diverse classification authority settings. Different groups can set different classification authority rules based on their own needs and security requirements, and the system can control and push messages based on these rules.
[0053] The above description is only an overview of the technical solution of the present disclosure. In order to more clearly understand the technical means of the present disclosure, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present disclosure more obvious and easy to understand, the following specifically cites preferred embodiments and describes them in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0055] Figure 1 A flow chart of a group message control method provided in an embodiment of the present disclosure;
[0056] Figure 2 A flow chart of a message verification method provided in an embodiment of the present disclosure;
[0057] Figure 3 A flowchart of a message text push method provided in an embodiment of the present disclosure;
[0058] Figure 4 A flowchart of a method for dynamically adjusting the security level provided in an embodiment of the present disclosure;
[0059] Figure 5 A block diagram of the principles of the group message management and control system provided in an embodiment of the present disclosure;
[0060] Figure 6 A schematic diagram of the structure of a computer device provided in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0061] The embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.
[0062] It should be clear that the following embodiments of the present disclosure are described through specific concrete examples, and those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that the following embodiments and features in the embodiments can be combined with each other in the absence of conflict. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present disclosure.
[0063] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein can be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on this disclosure, it should be understood by those skilled in the art that an aspect described herein can be implemented independently of any other aspect, and two or more of these aspects can be combined in various ways. For example, any number of aspects described herein can be used to implement the device and / or practice the method. In addition, other structures and / or functionalities other than one or more of the aspects described herein can be used to implement this device and / or practice this method.
[0064] It should also be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present disclosure. The illustrations only show components related to the present disclosure and are not drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component can be changed at will, and the component layout type may also be more complicated.
[0065] Additionally, in the following description, specific details are provided to provide a thorough understanding of the examples. However, one skilled in the art will appreciate that the aspects described can be practiced without these specific details.
[0066] Reference Figure 1 The present disclosure provides a group message control method, comprising the following steps:
[0067] S1: Receive the message sent by the sender, which includes the publisher's identity, group ID, message classification level and message body;
[0068] S2: Verify the message based on the publisher's identity, group ID, and message confidentiality level; if verification succeeds, execute S3; if verification fails, execute S6;
[0069] S3: Based on the group identifier, extract the confidentiality levels of all group members from the stored group information table;
[0070] S4: Screening subscribers from group members based on the confidentiality level of group members and message confidentiality level;
[0071] S5: Based on the subscriber's identity, the message body is pushed to the corresponding terminal device;
[0072] S6: Return a notification of message sending failure to the sender.
[0073] The group message control method provided by the present disclosure verifies the message based on the publisher's identity, group identifier, and message confidentiality level when receiving the message, ensuring that only publishers with corresponding confidentiality level permissions can send messages of the corresponding confidentiality level, effectively preventing illegal users from sending messages to the group. For example, if an unauthorized user attempts to impersonate a publisher and send a high-level message to a specific group, it will be intercepted during the verification process due to identity mismatch or confidentiality level permissions, thereby ensuring the legitimacy and security of the source of the message in the group. Subscribers are screened based on the confidentiality level of group members and the confidentiality level of the message, ensuring that only group members with a confidentiality level that meets the requirements can receive messages of the corresponding confidentiality level, further enhancing the security of the information. For example, for a high-level message, only group members with high-level permissions will be screened as subscribers, and group members with low confidentiality levels will not receive the message, preventing the excessive spread of sensitive information.
[0074] Furthermore, by extracting the confidentiality levels of all group members from a stored group information table based on the group ID and filtering subscribers based on the message confidentiality level, the system can accurately push messages to the right people based on the message's sensitivity and the permissions of group members. For example, in a large group encompassing different departments and permissions, a message about financial secrets would only be pushed to group members with financial permissions and the corresponding confidentiality level, preventing irrelevant personnel from receiving unnecessary information.
[0075] This precise push mechanism can reduce the amount of irrelevant information received by group members and improve the efficiency of information acquisition. Group members will not be distracted by a large number of irrelevant or inappropriate messages for their own confidentiality level, and can focus more on information related to their work or responsibilities. Moreover, this method can be applied to various types of groups and diverse confidentiality settings. Different groups can set different confidentiality rules based on their own needs and security requirements, and the system can manage and push messages based on these rules. For example, in an enterprise, groups in different departments may have different confidentiality requirements, and this method can flexibly meet these differentiated needs.
[0076] In S1, the publisher enters their username and password on the front-end login page of their terminal device (i.e., the sender) and clicks the login button. The front-end sends the username and password in JSON format to the back-end login interface ( / login). The back-end queries the database to verify the user information. If the verification is successful, it returns the publisher's identity (user_id) to the front-end, which stores it in local storage (localStorage).
[0077] After the publisher successfully logs in, they enter the group's message sending page, select the message confidentiality level and enter the message body (i.e. the actual content of the message). At the same time, they can select or have the sending system automatically match the message subject type based on business needs (for example, if there are business scenario categories such as orders, after-sales, and consultations in the business system, the front-end can map the message keywords entered by the publisher through preset rules, or provide a drop-down menu for the publisher to select and determine the subject type). After the publisher clicks the send button, the front-end obtains the publisher's identity from the local storage. Since the publisher is on the message sending page of a specific group, the front-end can directly obtain the identifier of the current group. At this point, the front-end can obtain key metadata such as the publisher's identity, group identifier, message confidentiality level, and subject type. The publisher's identity, group identifier, message confidentiality level, message body, and other metadata are encapsulated in JSON format to form a message to be sent. The front-end calls the message sending interface ( / send_message) provided by the back-end to send the message to the server.
[0078] Furthermore, to ensure the security of the message during transmission, the sender encrypts the message using a symmetric encryption algorithm (such as AES) to generate a first ciphertext. This first ciphertext is then re-encrypted through an established encrypted channel (such as the HTTPS protocol) to generate a second ciphertext to ensure the security of the data during transmission. The second ciphertext is then sent to the server. After receiving the second ciphertext, the server decrypts it using a preset protocol (such as the HTTPS protocol) to obtain the first ciphertext. The server then decrypts the first ciphertext using the same symmetric encryption key as the sender, thereby restoring the original message.
[0079] In S2, the server stores user information and group information in a user information table and a group information table, respectively. The user information table records the identities of all users (including publishers and subscribers) and their corresponding confidentiality levels; the group information table contains the identities of all groups and their corresponding confidentiality levels, as well as the identities of all group members, their respective confidentiality levels, and their roles within the group, including group owners, group administrators, and ordinary group members.
[0080] Reference Figure 2 The flow chart of the message verification method shown, "verifying a message based on the publisher's identity, group ID, and message classification," includes the following steps:
[0081] S21: extracting the publisher's confidentiality level from the stored user information table based on the publisher's identity, and extracting the group confidentiality level from the stored group information table based on the group identifier;
[0082] S22: Determine whether the publisher's confidentiality level is not lower than the group confidentiality level and the message confidentiality level; if so, execute S23; if not, execute S24;
[0083] S23: Determine that the message verification fails;
[0084] S24: Determine whether the message verification is successful.
[0085] In the above steps, after receiving the message, the server searches the stored user information table based on the publisher identity carried in the message and extracts the confidentiality level corresponding to the publisher. For example, if the user information table is stored in a relational database, a SQL query statement is used to query it. Similarly, based on the group identifier carried in the message, a search is performed in the stored group information table to extract the confidentiality level corresponding to the group. User confidentiality levels (including publisher confidentiality levels and subscriber confidentiality levels), group confidentiality levels, and message confidentiality levels can be represented by numbers or levels. A larger number or a higher level indicates a higher confidentiality level. For example, confidentiality levels are divided into 1-5 levels, with level 5 being the highest level.
[0086] First, check whether the publisher's confidentiality level is at least as high as the group's. If so, it indicates that the publisher lacks sufficient authority to publish messages in the group, and message verification is considered a failure. If the publisher's confidentiality level is at least as high as the group's, check whether the publisher's confidentiality level is at least as high as the message's. If so, it indicates that the publisher lacks sufficient authority to publish messages at that level, and message verification is considered a failure. Message verification is considered successful only when the publisher's confidentiality level is at least as high as both the group's and the message's.
[0087] If the message verification succeeds, the server can continue with subsequent processing, such as auditing the message and pushing it to other members of the group. If the message verification fails, the server refuses to process the message, intercepting messages that exceed the confidentiality level, and returns a message failure notification to the sender, including the appropriate error information, informing them that they lack permission to publish the message. For example, an HTTP error code 403 (Forbidden) may be returned, along with an error message.
[0088] During the message processing process, regardless of whether the message passes or fails the verification phase, it is logged to a pre-defined message queue system (such as Kafka, RabbitMQ, ActiveMQ, or RocketMQ). Before sending the message to the message queue system, only the message body is encrypted. The encrypted message body is then encapsulated with unencrypted metadata (such as the publisher's identity, group ID, message classification level, and topic type) into a message object. The message queue system has multiple pre-defined storage units, each corresponding to a specific topic type. For example, in Kafka, a storage unit is a Topic, and in RabbitMQ, a Queue. After receiving the message object, the message queue system first parses the message's topic type and stores it in the corresponding storage unit based on the topic type. For example, if the topic type is "group_messages," the message is stored in the Topic named "group_messages." This method logs generated messages to the pre-defined message queue system, forming a historical message set—the collection of messages stored in each storage unit—facilitating subsequent auditing and tracing of historical messages.
[0089] In S3, the server extracts the confidentiality level information of all group members from the stored group information table based on the group ID carried in the message. This process involves querying the group information table. By using the group ID as the query condition, the server obtains the identity of each member in the group and their corresponding confidentiality level, providing basic data for subsequent subscriber screening.
[0090] In S4, after obtaining the confidentiality level information of all group members, the server compares each member's confidentiality level with the message's confidentiality level. If the group member's confidentiality level is not lower than the message's confidentiality level, the group member is considered a subscriber, meaning they have the right to receive the message. Conversely, if the group member's confidentiality level is lower than the message's confidentiality level, the group member is considered a restricted user, meaning they cannot receive the message due to insufficient permissions.
[0091] In S5, after comparing the confidentiality levels of group members, the server extracts the identities of subscribers and those with restricted permissions, creating lists of subscribers and those with restricted permissions. For those with restricted permissions, the server proactively sends a notification to the administrator, detailing the identities of group members excluded from receiving messages due to insufficient confidentiality. This notification mechanism is designed to help administrators stay informed and take appropriate action.
[0092] Based on the identified subscriber identities, the server queries each subscriber's corresponding terminal device identifier, including the device ID and user session ID, to determine the target devices for message push. The server then pushes the message text to these devices, ensuring that the subscribers receive it. This rigorous screening and push mechanism ensures that only group members with sufficient permissions receive messages, effectively safeguarding the security and confidentiality of messages and upholding the organization's information security management system.
[0093] In actual operation, the subscriber's terminal device may be offline. If the terminal device is accessed by an unauthorized user during the offline period, the messages stored on the server may be leaked, posing a security risk to the private data in the message body. Therefore, confidentiality measures need to be taken for the offline status of the subscriber's terminal device. Figure 3 The flowchart of the message body push method shown, "pushing the message body to the corresponding terminal device based on the subscriber's identity," includes the following steps:
[0094] S51: Encrypt and store the message body;
[0095] S52: Determine whether the subscriber's terminal device is offline; if it is offline, execute S53; if it is online, execute S57;
[0096] S53: Waiting to receive a request to pull an offline message, where the offline message request includes a requester identity;
[0097] S54: After receiving the offline message pull request, verify the requester's identity; if the verification passes, execute S55; if the verification fails, execute S56;
[0098] S55: Send the encrypted message body to the subscriber's terminal device;
[0099] S56: Return error information to the requesting terminal;
[0100] S57: Send the encrypted message body to the subscriber's terminal device.
[0101] Based on the above steps, the server determines the online status of each subscriber terminal device by checking the heartbeat signal or status report of the subscriber terminal device according to the subscriber identity. The heartbeat signal or status report can be sent periodically to inform the server of the current status of the device.
[0102] If the subscriber's terminal devices are all online, the normal message push will be carried out on the subscriber's terminal devices. The server only needs to encrypt the message body and send it to the subscriber's terminal devices through an encrypted channel (such as HTTPS).
[0103] If the subscriber's terminal device is offline, the offline message processing process begins. The message body is encrypted and stored in the server's offline message storage area. A response is then made when the subscriber's terminal device actively requests to retrieve the message. Specifically, when the subscriber's terminal device comes back online, it proactively sends a request to the server to retrieve the offline message. This request includes the requestor's identity, which identifies the source of the request. Upon receiving the request, the server compares the requestor's identity with the subscriber's identity to verify the request's legitimacy.
[0104] If the requester's identity is the same as any subscriber's, verification is considered successful. If the requester's identity is different from any subscriber's identity, verification is considered unsuccessful. If verification is successful, the server retrieves the subscriber's offline messages from the offline message storage area and sends the encrypted message body to the subscriber's terminal device. If verification fails, the server rejects the request and returns an error message to the requesting terminal. The rejection notification may be an error code or error message, such as "Insufficient Permission" or "Authentication Failed", which helps the requesting terminal understand the reason for the request failure.
[0105] During the encryption process of the message body, pre-set metadata (such as publisher identity and sender identity) can also be encrypted and encapsulated with the message body as encrypted ciphertext for storage or direct transmission. After receiving the encrypted ciphertext, the terminal device uses the corresponding key to decrypt it to obtain the original message content.
[0106] Based on the above, this solution strictly verifies received messages to ensure that only messages that meet the confidentiality requirements can enter the group. This method not only works when pushing messages, but also prevents group members with mismatched confidentiality levels from accessing the message content. In addition, the storage and retrieval of offline messages are effectively encrypted and permission-controlled, achieving secure storage of offline messages. When the subscriber's device comes back online, the message is securely pushed to the device through an encrypted channel, effectively preventing unauthorized access. Messages are always in ciphertext form throughout the entire transmission and storage process, improving the security and confidentiality of the messages and implementing a "high-density, low-flow" security strategy.
[0107] Furthermore, in order to trace the source of message text leaks and enhance the deterrent effect, when the message text is displayed on the subscriber's terminal device, a Drawable object with a custom color is used as the background, and custom text containing specific traceability information (such as publisher identity, etc.) is embedded in it to add a watermark to the message text.
[0108] In the actual needs of confidentiality management, a user's job functions and permissions may change, and personnel changes may also lead to changes in user information. Therefore, operations and maintenance personnel need to adjust user information through the management platform. This is especially true when it comes to user confidentiality information. User confidentiality can be adjusted individually or uniformly according to organizational structure. To use the confidentiality adjustment function, the management platform sends an HTTPS request to the server to modify the user's confidentiality level. Upon receiving the request, the server performs operation permission authentication. If authentication is successful, the user confidentiality level field value in the user information table is updated based on the requested data.
[0109] In the process of user management, adding users, deleting users, and modifying user confidentiality levels are common operations. These operations not only involve changes to the user's own confidentiality level, but may also affect the permissions between the user and the group. In order to ensure that the permissions between users and groups remain consistent and secure, it is necessary to dynamically adjust the user's permissions to the group. Figure 4 A flowchart of a method for dynamically adjusting the classification level of a target group is shown. The method includes the following steps:
[0110] S61: When any user's information is updated, identify the user's change event type based on the change information;
[0111] S62: When the change event type is a user security level change event or a user deletion event, count the target group to which the user belongs;
[0112] S63: Based on the type of change event, dynamically adjust the confidentiality level of the target group.
[0113] In S61, when a user's security level or other information is successfully updated, the change information is sent to the message queue system's change partition (e.g., a Kafka-specified topic) for storage. By subscribing to this change partition, users can obtain the user's change information in real time. The change information typically includes the user's identity, the security level before and after the update, the operation type (e.g., "add," "delete," "modify," etc.), and other relevant metadata. The user's change event type is determined by detecting the operation type in the change information.
[0114] In S62 , once it is determined that the change event type is a user security level change event or a user deletion event, all target groups to which the user belongs are searched from the group information table so that the permission settings of these groups can be adjusted accordingly.
[0115] In S63, if the change event type is a user confidentiality level change event, a determination is made as to whether the user is the group owner of the target group. If the user is the group owner, a further determination is made as to whether the user's changed confidentiality level is lower than the target group's. If the user's changed confidentiality level is lower than the group's, the target group's confidentiality level is updated based on the user's changed confidentiality level. This is done by updating the target group's confidentiality level field in the group information table to ensure that the group's confidentiality level is no higher than the user's changed confidentiality level. Simultaneously, the user's confidentiality level is updated in the group information table. This adjustment ensures that the group's confidentiality level remains consistent with that of the group owner, preventing the undesirable situation where the group owner's confidentiality level is lower than the group's.
[0116] If the user's changed security level is not lower than the group's security level, only the user's security level in the group information table is updated, without changing the overall security level of the group. This step ensures that the user's security level information in the group is up to date while maintaining the stability of the group's security level. If the user is not the group owner, the security level field in the group information table must also be updated to ensure that the user's security level information in the group is consistent with the user's latest security level, so that the user's security level can be accurately applied in subsequent operations such as permission verification and message push.
[0117] When the change event type is a user deletion event, the user's information, including the user's identity and confidentiality level, is deleted from the target group. At this time, if the user is also the group owner of the target group, it is determined whether the target group contains group administrators. If so, the group administrator with the highest confidentiality level is selected as the new group owner. If the group does not contain a group administrator, the ordinary group member with the highest confidentiality level is selected as the new group owner. After the new group owner is selected, the group owner information in the group information table is updated.
[0118] When the change event type is a new user event, the information of the new user is added to the target group, and the group information table is updated at the same time.
[0119] When any group changes its owner, the new owner's confidentiality level will be compared with the group's confidentiality level. If the new owner's confidentiality level is lower than the group's confidentiality level, the group's confidentiality level will be updated, and the new group's confidentiality level will be lower than or equal to the new owner's confidentiality level.
[0120] This solution effectively improves the level of refinement in information security management through technical means such as multi-level permission control, dynamic adaptability, and full-process coverage. Specifically, the solution comprehensively considers the user's job function, the nature of the group's business, and the sensitivity of the message, and implements fine-grained permission allocation to ensure that only users who meet the confidentiality requirements can access the corresponding messages. At the same time, it supports dynamic adjustment of user confidentiality levels and real-time synchronization of permissions, and can quickly adapt to changes in organizational structure and adjustments to business needs. In addition, encryption and permission verification are carried out throughout the entire life cycle of messages, from generation, sending, pushing to offline pulling, to ensure end-to-end security.
[0121] On the economic level, this solution significantly reduces the workload of manual review and lowers operation and maintenance costs through automated means such as confidentiality level allocation and sensitive word detection. At the same time, it can effectively intercept high-risk operations and avoid economic losses caused by information leaks, such as the leakage of commercial secrets, thereby protecting the core interests of the enterprise.
[0122] From a social perspective, this solution complies with the requirements of data security regulations such as GDPR and Information Security Technology 2.0, helping enterprises better comply with relevant laws and regulations and avoid legal risks and penalties. Through transparent authority management, it enhances the credibility of the enterprise collaboration platform, strengthens users' trust in the platform, and promotes internal collaboration and communication within the enterprise.
[0123] The above method is also applicable to microservice architectures. In a microservice architecture, processes such as message push, user security level updates, and dynamic adjustment of group security levels can be implemented through multiple independent service modules, each responsible for different tasks, working together to complete the entire process. This design not only improves the maintainability and scalability of the system, but also, by using a message queue system to store user change information, allows other service modules to sense the occurrence of user change events by subscribing to the message queue system's change partitions. By consuming user change information, they can identify the change event type and make corresponding permission changes based on the change event type. This reduces the coupling between service modules and enhances the system's flexibility and fault tolerance by assigning different tasks to different service modules. Therefore, the architecture of this solution has a certain degree of scalability, allowing new functions to be easily added to the existing foundation, and the service modules that implement new functions can be integrated with other service modules to provide more comprehensive information security protection.
[0124] Reference Figure 5 The present disclosure provides a group message management and control system, including:
[0125] The message receiving module 101 is used to receive a message sent by a sender, the message including the publisher's identity, group identifier, message classification level and message body;
[0126] The message verification module 102 is used to verify the message based on the publisher identity, group identity and message classification level; if the verification is successful, the classification level extraction module is executed;
[0127] The confidentiality level extraction module 103 is used to extract the confidentiality levels of all group members in the group from the stored group information table based on the group identifier;
[0128] A member screening module 104 is used to screen subscribers from group members based on the confidentiality level of the group members and the confidentiality level of the messages;
[0129] The message push module 105 is used to push the message body to the corresponding terminal device based on the identity of the subscriber.
[0130] The various variations and specific examples of the group message control method provided above are also applicable to the group message control system provided in the present disclosure. Through the above detailed description of the group message control method, those skilled in the art can clearly understand the implementation method of the group message control system. For the sake of brevity of the specification, it will not be described in detail here.
[0131] The computer device according to an embodiment of the present disclosure includes a memory and a processor. The memory is used to store non-transitory computer-readable instructions. Specifically, the memory may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache). The non-volatile memory may include, for example, read-only memory (ROM), a hard disk, a flash memory, etc.
[0132] The processor may be a central processing unit (CPU) or other form of processing unit with data processing capabilities and / or instruction execution capabilities, and may control other components in the computer device to perform desired functions. In one embodiment of the present disclosure, the processor is used to execute the computer-readable instructions stored in the memory, so that the computer device executes all or part of the steps of the group message control method of each embodiment of the present disclosure.
[0133] Those skilled in the art should understand that in order to solve the technical problem of how to obtain a good user experience, this embodiment may also include well-known structures such as a communication bus and an interface, and these well-known structures should also be included in the scope of protection of this disclosure.
[0134] like Figure 6 The present invention provides a schematic diagram of the structure of a computer device according to an embodiment of the present invention. Figure 6 The computer device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0135] like Figure 6 As shown, the computer device may include a processor (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) or a program loaded from a storage device into a random access memory (RAM). Various programs and data required for the operation of the computer device are also stored in the RAM. The processor, ROM, and RAM are connected to each other via a bus. An input / output (I / O) interface is also connected to the bus.
[0136] Typically, the following devices can be connected to the I / O interface: input devices such as sensors or visual information acquisition devices; output devices such as display screens; storage devices such as tapes and hard disks; and communication devices. The communication device can allow the computer device to communicate with other devices (such as edge computing devices) wirelessly or by wire to exchange data. Figure 6 A computer device having various devices is shown, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.
[0137] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through a communication device, or installed from a storage device, or installed from a ROM. When the computer program is executed by a processor, all or part of the steps of the group message control method of the embodiment of the present disclosure are executed.
[0138] For detailed description of this embodiment, please refer to the corresponding description in the aforementioned embodiments, which will not be repeated here.
[0139] According to an embodiment of the present disclosure, a computer-readable storage medium stores non-transitory computer-readable instructions. When the non-transitory computer-readable instructions are executed by a processor, all or part of the steps of the group message control method of each embodiment of the present disclosure are executed.
[0140] The above-mentioned computer-readable storage media include, but are not limited to, optical storage media (e.g., CD-ROMs and DVDs), magneto-optical storage media (e.g., MOs), magnetic storage media (e.g., magnetic tapes or mobile hard disks), media with built-in rewritable non-volatile memory (e.g., memory cards), and media with built-in ROM (e.g., ROM cartridges).
[0141] For detailed description of this embodiment, please refer to the corresponding description in the aforementioned embodiments, which will not be repeated here.
[0142] The basic principles of the present disclosure have been described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, and effects mentioned in this disclosure are merely illustrative and not restrictive, and should not be construed as necessarily possessed by each embodiment of the present disclosure. Furthermore, the specific details disclosed above are provided for illustrative purposes and to facilitate understanding, rather than as limitations. These details do not limit the present disclosure to necessarily being implemented using these specific details.
[0143] In the present disclosure, relational terms such as first and second, etc. are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. The block diagrams of the devices, devices, equipment, and systems involved in the present disclosure are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As will be appreciated by those skilled in the art, these devices, devices, equipment, and systems can be connected, arranged, or configured in any manner. Words such as "including," "comprising," "having," and the like are open-ended words, meaning "including but not limited to," and can be used interchangeably therewith. The words "or" and "and" used herein refer to the words "and / or" and can be used interchangeably therewith, unless the context clearly indicates otherwise. The word "such as" used herein refers to the phrase "such as but not limited to," and can be used interchangeably therewith.
[0144] Additionally, as used herein, "or" used in a list of items beginning with "at least one" indicates a separate list, so that, for example, a list of "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not mean that the example described is preferred or better than other examples.
[0145] It should also be noted that in the system and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.
[0146] Various changes, substitutions, and modifications may be made to the technology described herein without departing from the teachings defined by the appended claims. Moreover, the scope of the claims of this disclosure is not limited to the specific aspects of the processes, machines, manufactures, compositions of things, means, methods, and actions described above. Currently existing or later developed processes, machines, manufactures, compositions of things, means, methods, or actions that perform substantially the same function or achieve substantially the same results as the corresponding aspects described herein may be utilized. Accordingly, the appended claims include within their scope such processes, machines, manufactures, compositions of things, means, methods, or actions.
[0147] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0148] The above description has been provided for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although a number of example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.
Claims
1. A group message management method, characterized in that: include: Receive a message sent by a sender, the message including a publisher identity, a group identifier, a message classification level, and a message body; Verifying the message based on the publisher identity, the group identity, and the message confidentiality level; If the verification is successful, the confidentiality levels of all group members in the group are extracted from the stored group information table based on the group identifier; screening subscribers from the group members based on the confidentiality levels of the group members and the confidentiality level of the message; Based on the identity of the subscriber, the message body is pushed to the corresponding terminal device.
2. The group message control method according to claim 1, characterized in that: The verifying the message based on the publisher identity, the group identifier, and the message confidentiality level includes: Extracting the publisher's confidentiality level from the stored user information table according to the publisher's identity identifier, and extracting the group confidentiality level from the stored group information table according to the group identifier; Determining whether the publisher's confidentiality level is not lower than the group's confidentiality level and the message's confidentiality level; If it is lower than that, it is determined that the message verification fails; If it is not lower than, it is determined that the message verification is successful.
3. The group message control method according to claim 1, characterized in that: The screening of subscribers from the group members based on the confidentiality level of the group members and the confidentiality level of the message includes: Comparing the confidentiality level of each group member with the confidentiality level of the message one by one; If the confidentiality level of the group member is not lower than the confidentiality level of the message, the group member is determined to be a subscriber; If the confidentiality level of the group member is lower than the confidentiality level of the message, the group member is determined to be a person with restricted authority.
4. The group message control method according to any one of claims 1 to 3, characterized in that: The method of pushing the message body to a corresponding terminal device based on the identity identifier of the subscriber includes: Encrypting and storing the message body; Determine whether the subscriber's terminal device is offline; If the system is in an offline state, the system waits for receiving a request to pull an offline message, wherein the offline message request includes an identity identifier of the requester; After receiving the offline message pull request, verify the requester's identity; If the verification is successful, the encrypted message body is sent to the subscriber’s terminal device; If the verification fails, an error message is returned to the requesting terminal; If the subscriber is online, the encrypted message body is sent to the subscriber's terminal device.
5. The group message control method according to claim 1, characterized in that: Also includes: When any user's information is updated, the change event type of the user is identified based on the change information; When the change event type is a user security level change event or a user deletion event, count the target group to which the user belongs; Based on the change event type, the confidentiality level of the target group is dynamically adjusted.
6. The group message control method according to claim 5, characterized in that: The dynamically adjusting the confidentiality level of the target group based on the change event type includes: When the user is the group owner of the target group and the change event type is a user confidentiality level change event, determining whether the changed confidentiality level of the user is lower than the confidentiality level of the target group; If it is lower, the security level of the target group is updated based on the changed security level of the user.
7. The group message control method according to claim 6, characterized in that: The dynamically adjusting the confidentiality level of the target group based on the change event type further includes: When the user is the group owner of the target group and the change event type is a user deletion event, deleting the user's information from the target group; Determining whether the target group includes a group administrator; If included, the group administrator with the highest confidentiality level will be changed to the new group owner; If not included, the ordinary group member with the highest confidentiality level will be changed to the new group owner.
8. A computer device, characterized in that: The computer device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the group message control method according to any one of claims 1 to 7.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, which are used to enable a computer to execute the group message management method according to any one of claims 1 to 7.
10. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.