Channel management method, device and equipment in instant messaging
By grouping and storing instant messaging channels, the problem of disordered channel management was solved, and the accurate display of channel information and the system's flexibility were improved.
Patent Information
- Application Number
- CN202511427964.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-30
- Publication Date
- 2026-02-17
Smart Images

Figure CN121547431A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a channel management method, apparatus and device in instant messaging. Background Technology
[0002] Instant Messaging (IM) is a communication technology that enables real-time transmission of information such as text, images, audio, and video. It allows for low-latency interaction, such as message exchange within seconds. Communication channels are the most basic unit of communication in instant messaging, used to distinguish dialogue spaces for different topics or functions (e.g., message chat, information push, etc.).
[0003] Currently, the client needs to obtain channel information of the communication channel from the server, such as channel identifier and messages within the channel, and then refresh the page based on the channel information. However, there are many channels, so how to achieve more orderly and reasonable channel management and ensure that the client can accurately display the channel information is the technical problem that this application needs to solve. Summary of the Invention
[0004] This application provides a channel management method, apparatus, and device for instant messaging, which can achieve efficient and orderly management of communication channels in instant messaging and ensure that the client can accurately display channel information.
[0005] In a first aspect, this application provides a channel management method in instant messaging, comprising: grouping multiple communication channels to obtain multiple channel groups; obtaining channel information of multiple communication channels and grouping information of multiple channel groups; storing the channel information of multiple communication channels in a cloud service and storing the grouping information of multiple channel groups in a background service; responding to a client's data acquisition request for a communication group, returning the target channel information corresponding to the data acquisition request in the cloud service and the target group information corresponding to the data acquisition request in the background service to the client, so that the client displays the communication page of the communication group according to the target channel information and the target group information.
[0006] Secondly, this application provides a channel management device for instant messaging, comprising: a channel grouping module for grouping multiple communication channels to obtain multiple channel groups; an information acquisition module for acquiring channel information of multiple communication channels and grouping information of multiple channel groups; an information storage module for storing channel information of multiple communication channels in a cloud service and grouping information of multiple channel groups in a background service; and a data transmission module for responding to a client's data acquisition request for a communication group by returning the target channel information corresponding to the data acquisition request in the cloud service and the target group information corresponding to the data acquisition request in the background service to the client, so that the client can display the communication page of the communication group based on the target channel information and the target group information.
[0007] Thirdly, this application provides an electronic device, including: a processor and a memory, the memory for storing a computer program, and the processor for calling and running the computer program stored in the memory to perform the methods as described in the first aspect or its various implementations.
[0008] Fourthly, this application provides a computer-readable storage medium for storing a computer program that causes a computer to perform the methods described in the first aspect or its various implementations.
[0009] Fifthly, this application provides a computer program product including computer program instructions that cause a computer to perform the methods as described in the first aspect or its various implementations.
[0010] Sixthly, this application provides a computer program that causes a computer to perform the methods described in the first aspect or its various implementations.
[0011] Other technical features and effects involved in the technical solution of this application will be described in subsequent embodiments, and will not be repeated here to avoid repetition. Attached Figure Description
[0012] The accompanying drawings used in the following description of the embodiments are introduced.
[0013] Figure 1 An application scenario diagram provided for an embodiment of this application; Figure 2 A flowchart illustrating a channel management method in instant messaging provided in this application embodiment; Figure 3 A schematic diagram illustrating a channel management method in instant messaging provided in an embodiment of this application; Figure 4 A schematic diagram illustrating another channel management method in instant messaging provided in an embodiment of this application; Figure 5A schematic diagram illustrating another channel management method in instant messaging provided in an embodiment of this application; Figure 6 A schematic diagram of a channel management device in instant messaging provided in an embodiment of this application; Figure 7 This is a schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0014] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0015] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application 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 this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or server that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.
[0016] In one embodiment, the technical solution of this application can be used in the channel management scenario of instant messaging, for example, it can be applied to scenarios such as grouping, sorting, changing and displaying communication channels, but is not limited thereto.
[0017] For example, Figure 1 An application scenario diagram provided for an embodiment of this application, such as Figure 1 As shown, this application scenario may include a terminal device 110 with an installed client connected via a wired or wireless network and a server 120. The server can be a single server, a server cluster consisting of multiple servers, or a cloud platform control center, but is not limited to these. The terminal device can be a mobile phone, tablet, laptop, or desktop computer, but is not limited to these.
[0018] It should be noted that, Figure 1 The terminal devices and servers mentioned are merely examples; in practice, other numbers or types of terminal devices and servers may also be included.
[0019] Specifically, the server can group multiple communication channels into multiple channel groups. Then, it can obtain the channel information of the multiple communication channels and the grouping information of the multiple channel groups. The server then stores the channel information of the multiple communication channels in a cloud service and the grouping information of the multiple channel groups in a background service. Afterward, the client can request to display the communication page of the communication group by sending a data retrieval request to the server for the communication group. The server can respond to this data retrieval request by returning the target channel information corresponding to the data retrieval request from the cloud service and the target group information corresponding to the data retrieval request from the background service to the client. Finally, the client displays the communication page of the communication group based on the target channel information and the target group information.
[0020] It should be noted that all technical solutions in this application can be combined in any way to form optional embodiments of this application. To avoid repetition, these will not be elaborated upon.
[0021] Furthermore, in the specific embodiments of this application, data, information, requests or instructions related to communication channels, channel groups, channel information and group information are involved. When the embodiments of this application are applied to specific products or technologies, user permission, consent or authorization is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0022] The technical solution of this application will be described in detail below: In one embodiment, Figure 2 A flowchart illustrating a channel management method in instant messaging provided in this application embodiment, the method can be performed by, for example... Figure 1 The server shown performs the actions, but is not limited to this.
[0023] like Figure 2 As shown, the method may include the following steps: S210: Group multiple communication channels to obtain multiple channel groups; S220: Obtain channel information for multiple communication channels and grouping information for multiple channel groups; S230: Store channel information of multiple communication channels to cloud services, and store grouping information of multiple channel groups to background services; S240: In response to the client's data retrieval request for the communication group, return the target channel information corresponding to the data retrieval request in the cloud service and the target group information corresponding to the data retrieval request in the background service to the client, so that the client can display the communication page based on the target channel information and the target group information.
[0024] For S210 and S220, the communication channel is the most basic communication unit in instant messaging. It is an independent dialogue space based on a specific topic or a specific function. Each communication channel corresponds to a set of members. The members in the set, i.e., the users, can communicate and exchange information based on the communication channel. The specific topic or specific function can be message chat, information push, etc.
[0025] For example, communication channels may include, but are not limited to, business communication channels and card subscription channels. The member set corresponding to a business communication channel may include investors, account managers, and investment advisors. The specific function of a business communication channel is to facilitate communication between investors, account managers, and investment advisors, such as transmitting messages sent from their accounts. The member set corresponding to a card subscription channel may include all users who have opened accounts under a specific virtual resource (e.g., stocks). The specific topic of a card subscription channel is sharing cards related to that specific virtual resource, such as posting, viewing, and forwarding cards related to that virtual resource.
[0026] A channel group refers to a classification set of at least one communication channel among multiple communication channels in S210. It is not the communication channel itself, but the grouping result of the multiple communication channels.
[0027] A channel group may contain at least one communication channel, and a communication channel may belong to at least one channel group.
[0028] Channel information for a communication channel describes the specific content of the channel. For example, it may include at least one of the following: channel identifier, messages within the channel, and members corresponding to the channel. The channel identifier uniquely identifies the communication channel and may be the channel name, etc. Messages within the channel are all historical and real-time messages generated and transmitted within the communication channel. Members corresponding to the channel refer to the members in the set of members corresponding to the communication channel, and these members have access and operation permissions for the communication channel.
[0029] The channel group grouping information includes the grouping status of multiple communication channels (i.e., channel groups), data describing the sorting information between each channel group, and data describing the sorting information between each communication channel under different channel groups. Among them, the sorting information of the channel group refers to the sorting information of the channel group in all channel groups, and the sorting information of the communication channel refers to the sorting information of the communication channel in the corresponding channel group.
[0030] For example, grouping information may include at least one of the following: a group identifier for the channel group, and the association between the channel group and the communication channel. This association may be an ordered list storing each channel group and its corresponding communication channel, or it may store each communication channel and its corresponding channel group. The order in the ordered list corresponds to the sorting information of the communication channel and the channel group, which may be a sorting value. For example, columns in the ordered list correspond to channel groups, rows correspond to communication channels, the column number of the column containing the channel group in the ordered list is consistent with the sorting value of that channel group among all channel groups, and the row number of the row containing the communication channel in the ordered list is consistent with the sorting value of that communication channel among its corresponding channel group.
[0031] Furthermore, the aforementioned communication channels and channel groups can be communication channels and channel groups under specific accounts in S240. Specifically, the target account logged into the client can be determined first; the communication channels joined by the target account can be obtained, resulting in multiple communication channels in S210. Communication channels joined by the target account refer to communication channels whose corresponding member set includes members corresponding to the target account. Alternatively, the multiple communication channels and channel groups in S210 can be communication channels and channel groups involved in all accounts; communication channels involved in all accounts refer to communication channels whose corresponding member set includes members corresponding to any account.
[0032] For example, the above method of grouping multiple communication channels to obtain multiple channel groups includes the following steps: obtaining the channel category under a preset grouping dimension; classifying communication channels belonging to the same channel category to obtain multiple channel groups.
[0033] The preset grouping dimension can be any of the following, but is not limited to: topic dimension, function dimension, member set dimension, geographical region dimension, and business dimension. The preset grouping dimension is a grouping dimension set in advance before grouping multiple communication channels, and can include multiple channel categories.
[0034] For example, the topic dimension refers to the dimension of grouping communication channels based on the conversation topics of the messages transmitted under the communication channel, and the channel categories included include, but are not limited to: industry news topics, investment decision topics. Another example is the function dimension, which refers to the dimension of grouping communication channels based on the function or purpose of the communication channel, and the channel categories included include, but are not limited to: message notification, data sharing, information exchange. Yet another example is the member set dimension, which refers to the dimension of grouping communication channels based on the identity attributes of the members involved in the communication channel, and the channel categories included include, but are not limited to: ordinary member categories, manager member categories (corresponding to communication channels involving members with the role of manager). The geographic region dimension refers to the dimension of grouping communication channels based on the geographic region to which the members involved in the communication channel belong, or based on the trading market to which the virtual resources involved in the messages transmitted under the communication channel belong, and the channel categories included include, but are not limited to: the categories corresponding to each virtual resource trading market, and the categories corresponding to each geographic region. The business dimension refers to the dimension of the business type involved in the messages transmitted by the communication channel, and the channel categories included include, but are not limited to: stock categories, option categories.
[0035] Specifically, the system can traverse the channel information of multiple communication channels, identify and extract the messages within the channels and the corresponding members; determine the channel category of the communication channel under a preset grouping dimension based on either the messages within the channel or the corresponding members; and categorize communication channels belonging to the same channel category to obtain multiple channel groups. For example, the channel category of a communication channel under the member set dimension can be determined based on the members corresponding to the channel. Alternatively, the theme, function, geographical region, or business involved in the communication channel can be determined based on the messages within the channel, and the channel category of the communication channel under the theme dimension, function dimension, geographical region dimension, and business dimension can be determined respectively based on the involved theme, function, geographical region, or business.
[0036] In the above process, communication channels can be grouped according to preset grouping dimensions, thereby enabling efficient and orderly management of a large number of communication channels.
[0037] Furthermore, communication dimensions can be grouped according to the grouping instructions of the target account.
[0038] For S230, cloud service refers to a cloud server used to provide instant messaging; back-end service refers to a local server that communicates with the cloud service and is used to implement business functions other than instant messaging.
[0039] In addition, server information, such as server identifier and name, can be stored in cloud services.
[0040] Understandably, cloud services offer the advantage of high timeliness, but they are limited by data packet size. Therefore, storing channel information and group information separately in the cloud service and the backend service not only meets the high timeliness requirement for retrieving channel information but also avoids the cloud service's data packet size limitations. Furthermore, it allows for a more flexible, scalable, and maintainable way to store channel and group information separately. In addition, since channel and group information come from different data sources, there may naturally be timing issues during data synchronization. The group information in the backend service includes the sorting information for both channel and group information, thus ensuring that channel and group information are displayed in an orderly manner on the communication page of the communication group.
[0041] For S240, for example, such as Figure 3 As shown, the communication page can be a page displayed in the client that enables instant messaging, such as a chat page. The communication page can include multiple communication groups. A communication group can be a general chat room in the chat page. A communication group can contain multiple communication channels, which can be displayed in the form of channel groups.
[0042] For example, a data acquisition request may include the account identifier of the target account logged in on the client and the group identifier of the communication group. After obtaining the account identifier of the target account and the group identifier of the communication group from the data acquisition request, the target channel information corresponding to the communication group can be obtained from the cloud service based on the account identifier of the target account and the group identifier of the communication group. At the same time, the target group information of the communication group can be obtained from the backend service. Then, based on the obtained target group information, the target channel information is sorted and a corresponding communication page is generated. The target channel information in the communication page is displayed according to the group (i.e., communication channel group) indicated by the target group information and the sorting information of each group.
[0043] The target channel information may include the channel information of the communication channels that the target account has joined in the corresponding communication group, and the target group information may include the grouping information corresponding to these communication channels, i.e., channel groups, and the sorting information between the various channel groups.
[0044] Specifically, the process can begin by identifying the group service scenario involved in the communication group; then, identifying at least one of the target members, target topics, and target functions involved in the group service scenario; and finally, determining the target channel information or target group information based on at least one of the target members, target topics, and target functions. For example, channel information that satisfies at least one of the following criteria can be identified as target channel information: its member set includes the target members, its corresponding topic is the target topic, and its corresponding function is the target function. Similarly, group information to which the channel information that satisfies at least one of the following criteria can be identified as target group information can be identified as target group information.
[0045] Furthermore, the target channel information obtained from the cloud service can be an ordered list, that is, the target channel information includes the channel information of the communication channels that the target account has joined in the corresponding communication group, and the channel information of these communication channels is arranged in a certain order.
[0046] In one embodiment, the server may also respond to a data acquisition request by obtaining the sorting information of the communication channel and the channel group from the group information; determining whether to correct the sorting information; if not to correct the sorting information, returning the sorting information to the client so that the client can display the communication page according to the target channel information, the target group information, and the sorting information; if the sorting information is corrected, returning the corrected sorting information to the client so that the client can display the communication page according to the target channel information, the target group information, and the corrected sorting information.
[0047] Specifically, the above-mentioned determination of whether to correct the sorting information includes: obtaining the sorting information of each channel group from the target grouping information, and determining the ordered list of groups corresponding to the target group list based on the sorting information of each channel group and the communication channels in each channel group. This ordered list of groups is used to indicate the arrangement order of each communication channel. Then, the ordered list of groups is compared with the target ordered list corresponding to the target channel information obtained by the cloud service. If the arrangement order of each communication channel indicated by the ordered list of groups is consistent with the arrangement order of each communication channel indicated by the target ordered list, then no correction of the sorting information is required; if the sorting information is inconsistent with the target ordered list, then the sorting information in the background service is corrected. Accordingly, the above-mentioned correction of the sorting information can be based on the target ordered list.
[0048] In conjunction with the above embodiments, the target ordered list can be a real-time ordered list, specifically determined based on at least one of the following: a request to change group information or channel information, user behavior data (which can be access data of the target account to each channel group and each communication channel), and channel activity data (which can be access data of all accounts to each channel group and each communication channel).
[0049] In one embodiment, the ordered list of packets and the ordered list of target channels obtained by the cloud service are compared. Specifically, this may involve obtaining a first hash value corresponding to the ordered list of packets and a second hash value of the ordered list of targets. Based on the first and second hash values, it is determined whether the order of the communication channels indicated by the ordered list of packets is consistent with the order of the communication channels indicated by the ordered list of targets. It is understood that if the first hash value and the second hash value are consistent, then the order of the communication channels indicated by the ordered list of packets is consistent with the order of the communication channels indicated by the ordered list of targets.
[0050] Furthermore, the server can respond to requests to change group or channel information and modify the target ordered list accordingly. Alternatively, it can determine the first access frequency of each channel group and each communication channel based on user behavior data, and determine the second access frequency of each channel group and each communication channel based on channel activity data; and update the target ordered list in real time / periodically based on the first and second access frequencies.
[0051] It is understandable that cloud services and backend services belong to different data sources. By comparing the sorting information obtained from the grouping information with the target ordered list in cloud storage, it can be ensured that the channel groups and communication channels are displayed correctly and in an orderly manner, and can be displayed according to the latest sorting and grouping each time.
[0052] In addition, the server can also perform the above judgment on whether to correct the sorting information when reconnecting after determining that it has lost connection with the client.
[0053] For example, the above response to a client's data acquisition request for a communication group, returning the target group information corresponding to the data acquisition request in the background service to the client, includes the following steps: in response to the data acquisition request, determining whether the target group information is cached in memory; if the target group information is not cached in memory, then caching the target group information in the background service in memory and returning it to the client; correspondingly, if the target group information is cached in memory, then returning the cached target group information in memory to the client.
[0054] It is understandable that reading information from memory is faster than reading information from a database. Therefore, the above embodiments can reduce traffic consumption and improve system throughput.
[0055] In one embodiment, the server can also respond to the server administrator's operations such as adding, deleting, or updating the aforementioned group information, making corresponding changes to the group information in the background service, and triggering the client to resend the data retrieval request for the communication group, thereby displaying the communication page of the changed communication group. Subsequent embodiments will describe the communication groups and communication pages.
[0056] For example, the server can first set a group change attribute to mark whether the group information has changed; then, in response to a request to change the group information, the server can update the group change attribute to mark the group information as changed; in response to the update of the group change attribute to mark the group information as changed, the server can make corresponding changes to the group information in the background service; and push the change event for the group information to the client so that the client can resend the data acquisition request for the communication group.
[0057] The group change attribute can be a status value on a cloud service or backend service, indicating whether group information has changed. For example, an initial status value can be set, and the status value can be incremented every time a change request is received. The status value corresponding to the group change attribute can be checked periodically to see if the current status value is consistent with the current status value at the time of the last check. If they are inconsistent, the group change attribute is updated to mark that the group information has changed.
[0058] Specifically, the aforementioned request to change group information may include any of the following, but is not limited to: a request to change a communication channel, a request to change a channel group, or a request to change a communication channel within a channel group. Specifically, the change request may be to add, delete, or update (e.g., update the identifier of a channel group or communication channel). For example, if the aforementioned request to change group information is a request to add a communication channel, then the corresponding changes to the group information in the backend service may include: grouping the newly added communication channel to determine the corresponding channel group; adding the newly added communication channel to the corresponding channel group, and adding the corresponding information for the newly added communication channel to the group information. Alternatively, if the aforementioned request to change group information is a request to delete a channel group, then the corresponding changes to the group information in the backend service may include: deleting the information for that channel group from the group information; simultaneously deleting the channel group; furthermore, deleting all communication channels corresponding to that channel group; or reclassifying all communication channels corresponding to that channel group to other channel groups. If the aforementioned request to change group information is a request to delete a communication channel in a channel group, then the corresponding changes to the group information in the background service may include: deleting the information of the communication channel to be deleted in the channel group from the group information, and also deleting the communication channel in the channel group.
[0059] Furthermore, after performing the aforementioned changes to the group information in the background service, it can be determined whether the changes to the group information involve changes to the communication channels. If changes to the communication channels are involved, it is determined whether the communication channels or channel information need to be changed. If changes to the communication channels are required, then the communication channels are changed accordingly. If changes to the channel information are required, then the channel information is changed accordingly. For example, if the aforementioned request to change the group information is a request to delete a communication channel in a channel group, and the aforementioned changes to the group information in the background service involve deleting the information of the communication channel to be deleted in that channel group, then it can be determined that the changes to the group information involve changes to the communication channels. Then, it can be determined whether the communication channel to be deleted belongs to another channel group besides the aforementioned channel group. If the communication channel to be deleted belongs to another channel group besides the aforementioned channel group, then the information corresponding to the communication channel to be deleted in the channel information and the information of the communication channel to be deleted in other channel groups in the group information can not be deleted. If the communication channel to be deleted does not belong to another channel group besides the aforementioned channel group, then the information corresponding to the communication channel to be deleted in the channel information can be deleted.
[0060] In the above process, the group change attribute can be used to record whether the group information has changed, and based on this, it can be determined whether to push the change event to the client. When the group information changes, the client can be triggered to pull the data retrieval request of the communication group, without the client frequently querying the server to see if the group information has changed. This not only reduces the amount of network data transmission, but also ensures that the client obtains the latest communication group.
[0061] In one embodiment, similar to the changes to group information described above, the server can also respond to changes such as adding, deleting, or updating communication channels by modifying the channel information and corresponding group information accordingly. Correspondingly, based on the changes to the channel information and corresponding group information, the server can trigger the client to resend the data retrieval request for the communication group, thereby displaying the updated communication group's communication page.
[0062] For example, in response to a change operation for multiple communication channels, the channel information in the cloud service can be changed accordingly; the group information in the background service can be matched with the changed channel information, and the group information in the background service can be processed according to the matching result.
[0063] Specifically, the above-mentioned processing of grouping information in the backend service based on the matching results includes any of the following: If the matching result indicates that the first communication channel involved in the group information is not the communication channel corresponding to the changed channel information, then the information corresponding to the first communication channel in the group information is discarded. If the matching result indicates that the grouping information does not involve the second communication channel corresponding to the changed channel information, then the information corresponding to the second communication channel is added to the ungrouped list in the grouping information according to a preset order.
[0064] Understandably, since group information and channel information come from two different data sources, when adding / deleting communication channels, the backend service can modify the group information accordingly, and the cloud service can modify the channel information accordingly. At this point, timing issues may arise, causing a mismatch between the information in the backend service and the cloud service. Therefore, the aforementioned matching process can be performed to determine the consistency of information between the backend service and the cloud service. Specifically, there are two mismatch scenarios: First, the group information contains communication channels that are not present in the channel information of the cloud service; second, the group information does not contain communication channels that exist in the channel information of the cloud service. For the first scenario, this is generally caused by the backend service's notification interface receiving the changed communication channels earlier than the cloud service's notification interface. In this case, the channel information in the cloud service can be used as a benchmark, discarding communication channels that are not present in the channel information. Then, when the cloud service's notification interface receives the changed communication channels, refreshing both the cloud service and the backend service will restore the changes to the communication channels in the group information and channel information. In the second scenario, which is the opposite of the first, the notification interface of the backend service usually receives the notification of the changed communication channel later than the notification interface of the cloud service. In this case, the channel information in the cloud service can be used as the basis. Therefore, there may be some communication channels that cannot be placed in the corresponding channel group. The communication channels that do not exist in the backend service can be displayed in a certain way, for example, by classifying them into a list of unspecified groups. At the same time, within this group, the communication channels are sorted in order of their creation time from newest to oldest. Then, after the backend service receives the group change notification, it will re-fetch the group data and update it.
[0065] The technical solution of this application is illustrated below with diagrams: For example, in conjunction with the above embodiments, such as Figure 4 As shown, the client can concurrently request a list of servers at the user level (i.e., communication groups under the target account) to display the communication page of the communication groups. The server can respond to this request by obtaining the server sorting process (i.e., group information) from the IM server service (i.e., the backend service) and the server list data (i.e., channel data) from the cloud service. Then, the client can integrate the server list data returned by the server and the server sorting process into an ordered list of data, i.e., communication channels sorted according to the group information. Next, the client can determine whether to correct the sorting of the ordered list data. If necessary, it sets a new server sorting process according to the backend service and modifies the sorting of communication channels and channel groups; otherwise, it directly displays the ordered list data.
[0066] For example, in conjunction with the above embodiments, such as Figure 5As shown, the client, while logged in based on the target account, can obtain the server identifier, channel group identifier, and name entered by the user, and send a change request for the group information to the server. Next, the server can perform parameter validation through a background service. For example, it can verify whether the client is logged in and whether the entered server identifier is complete and correct. If the validation fails (i.e., the parameters are invalid), an error code "Invalid Parameters" is returned. If it passes, the server's security sensitive word service performs sensitive word validation on the updated group information. If the sensitive word validation fails (e.g., the modified channel group name contains sensitive words), an error code "Triggered Sensitive Word" is returned. If the sensitive word validation passes, it checks whether the target account's role is that of an owner or administrator (i.e., whether they have permission to modify the group information). If the role validation fails, an error code "No Permission (Non-Owner / Administrator)" is returned. If the role validation passes, the group data is updated in the database. Then, it can determine whether the update was successful. If unsuccessful, an error code "Internal Error" is returned, such as cloud service exception, database write failure, or cache write failure. If successful, the communication channel can be assembled based on the changed group data and returned to the client.
[0067] Figure 6 This is a schematic diagram of a channel management device in instant messaging provided as an embodiment of this application. Figure 6 As shown, the channel management device 600 in instant messaging includes: a channel grouping module 601, an information acquisition module 602, an information storage module 603, a data transmission module 604, a sorting adjustment module 605, and a group modification module 606, wherein: In one embodiment, the channel grouping module 601 is used to group multiple communication channels to obtain multiple channel groups; the information acquisition module 602 is used to acquire channel information of multiple communication channels and grouping information of multiple channel groups; the information storage module 603 is used to store the channel information of multiple communication channels in a cloud service and the grouping information of multiple channel groups in a background service; the data transmission module 604 is used to respond to the client's data acquisition request for the communication group by returning the target channel information corresponding to the data acquisition request in the cloud service and the target group information corresponding to the data acquisition request in the background service to the client, so that the client can display the communication page of the communication group according to the target channel information and the target group information.
[0068] For example, the sorting adjustment module 605 is used to: in response to a data acquisition request, acquire sorting information for communication channels and channel groups from the grouping information; determine whether to correct the sorting information; if not to correct the sorting information, return the sorting information to the client so that the client can display the communication page according to the target channel information, the target group information, and the sorting information; if the sorting information is corrected, return the corrected sorting information to the client so that the client can display the communication page according to the target channel information, the target group information, and the corrected sorting information.
[0069] For example, the data transmission module 604 is specifically used to: respond to a data acquisition request, determine whether the target group information is cached in memory; if the target group information is not cached in memory, cache the target group information in the background service in memory and return it to the client; the data transmission module 604 is also used to: if the target group information is cached in memory, return the cached target group information in memory to the client.
[0070] For example, the group change module 606 is used to: set a group change attribute, which is used to mark whether the group information has changed; in response to a change request for the group information, update the group change attribute to mark that the group information has changed; in response to the group change attribute being updated to mark that the group information has changed, make corresponding changes to the group information in the background service; and push the change event for the group information to the client so that the client resends the data acquisition request for the communication group.
[0071] For example, the channel change module 606 is used to: in response to a change operation for multiple communication channels, change the channel information in the cloud service to the corresponding change operation; match the group information in the background service with the changed channel information, and process the group information in the background service according to the matching result.
[0072] For example, the channel change module 606 is specifically used to: in response to the matching result that the first communication channel involved in the group information is not the communication channel corresponding to the changed channel information, discard the information corresponding to the first communication channel in the group information.
[0073] For example, the channel change module 606 is specifically used to: in response to the matching result being that the grouping information does not involve the second communication channel corresponding to the changed channel information, add the information corresponding to the second communication channel to the ungrouped list in the grouping information in a preset order.
[0074] It should be understood that the device embodiments and method embodiments can correspond to each other, and similar descriptions can be referred to the method embodiments. To avoid repetition, further details will not be provided here. Specifically, Figure 6The apparatus 600 shown can execute the above-described method embodiments, and the foregoing and other operations and / or functions of each module in the apparatus 600 are respectively for implementing the corresponding processes in the above-described methods. For the sake of brevity, they will not be described in detail here.
[0075] The apparatus 600 of this application embodiment has been described above from the perspective of functional modules in conjunction with the accompanying drawings. It should be understood that this functional module can be implemented in hardware, in software instructions, or in a combination of hardware and software modules. Specifically, the steps of the method embodiments in this application can be completed by integrated logic circuits in the processor's hardware and / or by software instructions. The steps of the method disclosed in this application embodiment can be directly embodied as being executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. Optionally, the software module can reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps in the above method embodiments.
[0076] Figure 7 This is a schematic diagram of an electronic device provided in an embodiment of this application.
[0077] like Figure 7 As shown, the electronic device 700 may include: The system includes a memory 710 and a processor 720. The memory 710 stores computer programs and transfers the program code to the processor 720. In other words, the processor 720 can retrieve and run the computer program from the memory 710 to implement the methods described in the embodiments of this application.
[0078] For example, the processor 720 can be used to execute the above-described method embodiments according to instructions in the computer program.
[0079] In some embodiments of this application, the processor 720 may include, but is not limited to: General-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0080] In some embodiments of this application, the memory 710 includes, but is not limited to: Volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).
[0081] In some embodiments of this application, the computer program may be divided into one or more modules, which are stored in the memory 710 and executed by the processor 720 to perform the method provided in this application. The one or more modules may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the electronic device.
[0082] like Figure 7 As shown, the electronic device may also include: Transceiver 730, which can be connected to processor 720 or memory 710.
[0083] The processor 720 can control the transceiver 730 to communicate with other devices; specifically, it can send information or data to other devices or receive information or data sent by other devices. The transceiver 730 may include a transmitter and a receiver. The transceiver 730 may further include antennas, and the number of antennas may be one or more.
[0084] It should be understood that the various components in the electronic device are connected through a bus system, which includes a data bus, a power bus, a control bus, and a status signal bus.
[0085] This application also provides a computer storage medium storing a computer program thereon, which, when executed by a computer, enables the computer to perform the methods of the above-described method embodiments. Alternatively, embodiments of this application also provide a computer program product containing instructions that, when executed by a computer, cause the computer to perform the methods of the above-described method embodiments.
[0086] When implemented using software, it can be implemented entirely or partially as a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, the computer can perform all or part of the corresponding processes in the methods of the embodiments of this application, producing the functions achievable by the methods of the embodiments of this application. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can 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 can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid state disks (SSDs)).
[0087] Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0088] 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 through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0089] 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 units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. For example, the functional modules in the various embodiments of this application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
[0090] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A channel management method in instant messaging, characterized in that, include: Multiple communication channels are grouped to obtain multiple channel groups; Obtain channel information of the multiple communication channels and grouping information of the multiple channel groups; The channel information of the multiple communication channels is stored in the cloud service, and the grouping information of the multiple channel groups is stored in the background service; In response to a client's data acquisition request for a communication group, the target channel information corresponding to the data acquisition request in the cloud service and the target group information corresponding to the data acquisition request in the background service are returned to the client, so that the client can display a communication page based on the target channel information and the target group information.
2. The method according to claim 1, characterized in that, The method further includes: In response to the data acquisition request, the sorting information of the communication channel and the channel group is obtained from the grouping information; Determine whether the sorting information needs to be corrected; If the sorting information is not corrected, the sorting information is returned to the client so that the client can display the communication page according to the target channel information, the target group information and the sorting information; If the sorting information is corrected, the corrected sorting information is returned to the client so that the client can display the communication page according to the target channel information, the target group information, and the corrected sorting information.
3. The method according to claim 1, characterized in that, The step of responding to a client's data retrieval request for a communication group by returning the target group information corresponding to the data retrieval request from the background service to the client includes: In response to the data acquisition request, determine whether the target group information is cached in memory; If the target group information is not cached in memory, the target group information in the background service is cached in memory and returned to the client; Accordingly, the method further includes: If the target group information is cached in memory, then the cached target group information is returned to the client.
4. The method according to claim 1, characterized in that, The method further includes: Set a group change attribute, which is used to mark whether the group information has changed; In response to a change request for the group information, the group change attribute is updated to indicate that the group information has changed; In response to the group change attribute being updated to indicate that the group information has changed, the group information in the background service is changed accordingly. The change event for the group information is pushed to the client so that the client resends the data retrieval request for the communication group.
5. The method according to any one of claims 1-4, characterized in that, The method further includes: In response to the change operation for the multiple communication channels, the channel information in the cloud service is changed in accordance with the change operation; The grouping information in the background service is matched with the changed channel information, and the grouping information in the background service is processed according to the matching result.
6. The method according to claim 5, characterized in that, The step of processing the grouping information in the background service based on the matching results includes: If the matching result indicates that the first communication channel involved in the group information is not the communication channel corresponding to the modified channel information, then the information corresponding to the first communication channel in the group information is discarded.
7. The method according to claim 5, characterized in that, The step of processing the grouping information in the background service based on the matching results includes: If the matching result indicates that the grouping information does not involve the second communication channel corresponding to the modified channel information, then the information corresponding to the second communication channel is added to the ungrouped list in the grouping information in a preset order.
8. A channel management device for instant messaging, characterized in that, include: The channel grouping module is used to group multiple communication channels to obtain multiple channel groups; The information acquisition module is used to acquire channel information of the multiple communication channels and grouping information of the multiple channel groups; An information storage module is used to store the channel information of the multiple communication channels to a cloud service and to store the grouping information of the multiple channel groups to a background service; The data transmission module is used to respond to the client's data acquisition request for the communication group by returning the target channel information corresponding to the data acquisition request in the cloud service and the target group information corresponding to the data acquisition request in the background service to the client, so that the client can display the communication page according to the target channel information and the target group information.
9. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the method of any one of claims 1-7 by executing the executable instructions.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-7.