CN115473866A - Session management method, system, device and storage medium - Google Patents

Session management method, system, device and storage medium Download PDF

Info

Publication number
CN115473866A
CN115473866A CN202211118548.7A CN202211118548A CN115473866A CN 115473866 A CN115473866 A CN 115473866A CN 202211118548 A CN202211118548 A CN 202211118548A CN 115473866 A CN115473866 A CN 115473866A
Authority
CN
China
Prior art keywords
session
instance
information
local
session information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211118548.7A
Other languages
Chinese (zh)
Inventor
党伟锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kangjian Information Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kangjian Information Technology Shenzhen Co Ltd filed Critical Kangjian Information Technology Shenzhen Co Ltd
Priority to CN202211118548.7A priority Critical patent/CN115473866A/en
Publication of CN115473866A publication Critical patent/CN115473866A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

The application provides a conversation management method, system, equipment and storage medium, relate to the technical field of Internet, this method includes if customer end and instant messaging server set up the connecting channel, obtain the local conversation information including conversation label of the customer end, write the local conversation information into the temporary queue; the method comprises the steps of creating a write cache task, storing the write cache task in a task queue, inquiring the session existence state of local session information corresponding to a session identifier in a temporary queue based on the session identifier when the write cache task is executed, and writing the local session information into a preset cache if the session existence state exists, so that the local session information is still not lost on the premise that a large amount of information needs to be processed simultaneously on line of a high-user, the consistency of the local session information is improved, and the quality of service of instant messaging is improved.

Description

Session management method, system, device and storage medium
Technical Field
The present application relates to the field of internet technologies, and in particular, to a session management method, system, device, and storage medium.
Background
Instant Messaging (IM) is a real-time communication system that allows two or more people to communicate text messages, files, voice and video in real time using a network. The IM session refers to a connection channel established between a user and an IM server by using an IM client application, and comprises session identification, user identification, server IP, establishment time, active time and other information, and is recorded on the current IM server during establishment and removed when the connection channel is closed. Because the session is recorded on each IM server, when information is sent to a user, each IM server needs to be polled to find the session of the user, and the efficiency is extremely low.
In a mobile internet environment, with the continuous increase of user magnitude and information magnitude, a modern IM architecture is to store session information in a distributed cache system in a centralized manner in order to ensure high throughput of the system. When the information is sent to the user, the session information can be quickly checked, and then the session is sent to the corresponding IM server for issuing. But the complexity of data consistency processing of the session information is brought, and particularly for a large amount of instant messaging applications, the online of users is high, a large amount of messages need to be processed simultaneously, the session information consistency is poor, and the quality of IM service is not high.
Disclosure of Invention
In view of the above-mentioned shortcomings of the prior art, the present application aims to provide a session management method, system, device and storage medium, which are used to solve the problems of complex data consistency processing, poor session information consistency and low IM service quality of session information in the related art.
To achieve the above and other related objects, the present application provides a session management method, including:
if a connection channel is established between a client and an instant messaging server, local session information of the client is obtained, wherein the local session information comprises a session identifier;
writing the local session information into a temporary queue;
creating a write cache task, and storing the write cache task into a task queue, wherein the write cache task comprises a session identifier;
when the write cache task is executed, inquiring the session existence state of the local session information corresponding to the session identifier in the temporary queue based on the session identifier;
and if the session existence state is existence, writing the local session information into a preset cache.
In an embodiment of the present invention, if the session existence status is existence, after writing the local session information into a preset cache, the method further includes:
acquiring the writing state of the local session information;
if the writing fails, creating a writing retry task, wherein the writing retry task comprises a writing retry time threshold and a session identifier of the local session information, and adding the writing retry task into a writing retry processing queue;
determining a session existence status of the local session information based on the session identifier of a write retry task in the write retry processing queue;
and if the session existing state is present, rewriting the local session information into the preset cache until the writing state is writing success, or the execution times of the writing retry task are equal to the writing retry time threshold.
In an embodiment of the present invention, based on the session identifier of the retry writing task in the retry writing processing queue, if the session existing state is existence, before rewriting the local session information into the preset cache, the method further includes:
determining a write retry interval time according to the write retry times, a preset first parameter and a preset second parameter;
executing the write retry task in the write retry processing queue based on the write retry interval time.
In an embodiment of the present invention, if the session existence status is existence, after writing the local session information into a preset cache, the method further includes:
if the client and the instant communication server close the connection channel, removing the local session information of the client in the preset cache, and detecting a removal state;
if the removal fails, creating a removal retry task, wherein the removal retry task comprises a removal retry time threshold and a session identifier of local session information, and adding the removal retry task into a removal retry processing queue;
and determining the session existence state of local session information based on the session identifier of the removal retry task in the removal retry processing queue, and if the session existence state is existed, removing the local session information from the preset cache again until the removal state is successful or the execution times of the removal retry task is equal to the removal retry time threshold.
In an embodiment of the present invention, if the session existence status is existence, after writing the local session information into a preset cache, the method further includes:
updating historical instance information of the instances in the preset cache according to current instance information of the instances at a first time interval, wherein the current instance information is generated according to an instant messaging server address of the instant messaging server, instance identifiers of the instances, active time of the instances and active states of the instances, the instant messaging server corresponds to one or more instances, and one instance corresponds to one or more pieces of local session information stored in the preset cache;
determining the interval duration of the instance according to the updated active time and the current time of the instance in the preset cache;
determining a validity of the instance based on the interval duration and an active state of the instance;
and if the validity of the instance is determined to be invalid, removing the local session information corresponding to the instance from the preset cache.
In an embodiment of the present invention, after updating the historical instance information of the instance in the preset cache with the current instance information of the instance according to the first time interval, the method further includes:
acquiring the updating state of the current instance information;
and if the updating fails, updating the historical instance information again according to a second time interval by using the current instance information until the updating is successful or the instant messaging server corresponding to the instance is closed, wherein the second time interval is smaller than the first time interval.
In an embodiment of the present invention, the local session information further includes a client identifier, an instant messaging server address, an instance identifier, and a set-up time, and after updating the historical instance information of the instance in the preset cache with the current instance information of the instance according to a first time interval, the method includes:
acquiring an issued information request, wherein the issued information request comprises a client identification;
inquiring a plurality of local session information including the client identifier in a preset cache and/or a temporary queue according to the request client identifier to obtain a plurality of target session information;
acquiring a target instance identifier of a target instance corresponding to the target session information and a target instant messaging server address of a target instant messaging server corresponding to the target instance;
inquiring the updated active time of each target instance in the preset cache based on the target instance identification and the target instant messaging server address of each target session information;
determining a target duration of each target session message according to each active time and the current time;
asynchronously removing the target session information of which the target duration is less than a preset failure duration;
if the asynchronous removal exists, at least one piece of target session information exists, and each piece of target session information is transferred to an instant messaging server and issued.
In an embodiment of the present invention, after updating the historical instance information of the instance in the preset cache with the current instance information of the instance according to the first time interval, the method further includes:
pre-establishing a mapping relation among the instance identifier, the client identifier and the session identifier;
acquiring instance identification and active time in current instance information of an instance corresponding to an instant messaging server;
determining the interval duration of the active time and the current time;
and if the interval duration is longer than the preset failure duration, traversing the session list of the example, sequentially deleting the local session information in a preset cache based on the session identifier corresponding to the example identifier of the example and the user identifier, deleting the session list, and deleting the example information cache in the preset cache.
The invention also provides a session management system, which comprises:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring local session information of a client if the client establishes a connection channel with an instant messaging server, and the local session information comprises a session identifier;
the temporary writing module is used for writing the local session information into a temporary queue;
the creating module is used for creating a write cache task and storing the write cache task into a task queue, wherein the write cache task comprises a session identifier;
the query module is used for querying the session existence state of the local session information corresponding to the session identifier in the temporary queue based on the session identifier when the write cache task is executed;
and the cache writing module is used for writing the local session information into a preset cache if the session existence state is existence.
The present application further provides an electronic device, the electronic device including:
one or more processors;
storage means for storing one or more programs that, when executed by the one or more processors, cause the electronic device to implement the session management method as recited in any of the above.
The present application also provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor of a computer, causes the computer to perform a session management method as defined in any one of the above.
As described above, the present application provides a session management method, system, device, and medium, which have the following beneficial effects:
if a client establishes a connection channel with an instant communication server, local session information including a session identifier of the client is acquired, and the local session information is written into a temporary queue; the method comprises the steps of creating a write cache task, storing the write cache task into a task queue, inquiring a session existence state of local session information corresponding to a session identifier in a temporary queue based on the session identifier when the write cache task is executed, writing the local session information into a preset cache if the session existence state exists, and writing the local session information into the temporary queue in advance before the local session information is written into the preset cache, so that the integrity of local session information storage can be ensured.
Drawings
FIG. 1 is a schematic diagram of an exemplary system architecture to which aspects of one or more embodiments of the present application may be applied;
FIG. 2 is a schematic diagram illustrating a session interaction flow provided by an embodiment of the present application
Fig. 3 is a flowchart illustrating a session management method according to an embodiment of the present application;
fig. 4 is a flowchart illustrating a session management method according to another embodiment of the present application;
fig. 5 is a flowchart illustrating a session management method according to another embodiment of the present application;
fig. 6 is a schematic hardware structure diagram of a session management system according to an embodiment of the present application;
FIG. 7 is a diagram of a hardware configuration of a computer device suitable for implementing one or more embodiments of the present application.
Detailed Description
The following description of the embodiments of the present application is provided by way of specific examples, and other advantages and effects of the present application will be readily apparent to those skilled in the art from the disclosure herein. The present application is capable of other and different embodiments and its several details are capable of modifications and/or changes in various respects, all without departing from the spirit of the present application. It is to be noted that the features in the following embodiments and examples may be combined with each other without conflict.
It should be noted that the drawings provided in the present embodiment are only for illustrating the basic idea of the present application, and the drawings only show the components related to the present application and are not drawn according to the number, shape and size of the components in actual implementation, the type, quantity and proportion of each component in actual implementation may be changed freely, and the layout of the components may be more complicated.
Fig. 1 shows a schematic diagram of an exemplary system architecture to which technical solutions in one or more embodiments of the present application may be applied. As shown in fig. 1, system architecture 100 may include a terminal device 110, a network 120, and a server 130. The terminal device 110 may include various electronic devices such as a smart phone, a tablet computer, a notebook computer, and a desktop computer. The server 130 may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud computing services. The server may also be a just-in-time messaging server. Network 120 may be any type of communications medium capable of providing a communications link between terminal device 110 and server 130, such as a wired communications link or a wireless communications link.
The system architecture in the embodiments of the present application may have any number of terminal devices, networks, and servers, according to implementation needs. For example, the server 130 may be a server group composed of a plurality of server devices. In addition, the technical solution provided in the embodiment of the present application may be applied to the terminal device 110, or may be applied to the server 130, or may be implemented by both the terminal device 110 and the server 130, which is not particularly limited in this application.
In an embodiment of the present application, referring to fig. 2, an interaction process between the terminal device 110 or the server 130 of the present application may be shown, and fig. 2 shows a schematic session interaction flow provided by an embodiment of the present application. As shown in fig. 2, a user a of a client 1 sends a message (information) to a server, the server includes one or more of an im server 1, an im server 2, an im server 3, and an im server 4, the message is forwarded to a routing process through the im server 1, forwarded to a processor through a message router for storage-related processing, and sent to a sending processor through a message router by a non-target user, the message is transmitted to the sending processor, the sending processor manages an im instance local cache, the sending processor sends the message to an im server where a session is located, and the im server 3 is taken as an example, and sends the session information to a user B of the client 2. The issuing server inquires the session information corresponding to the user A in the distributed cache, the session information of the user, the session list of the im example and the instance information of the im server are stored in the distributed cache, the session information of the user and the session list of the im example are synchronously processed when the session is established or removed, and the instance information of the im server is updated regularly. In addition, the expired conversation is cleaned regularly. By the scheme, the problem that the distributed cache is frequently updated in the related technology can be solved, the consistency of the session information is enhanced, and the situation that the original method is slightly inconsistent can not occur. And there is no significant loss in query performance. The overall performance of IM is greatly improved, for example, 3 ten thousand distributed cache write operations per second are reduced, and the same amount of distributed cache components can accommodate about 1.5 ten thousand new session establishment per second.
The above section introduces the content of an exemplary system architecture to which the technical solution of the present application is applied, and then continues to introduce the session management method of the present application.
Fig. 3 is a flowchart illustrating a session management method according to an embodiment of the present application. Specifically, in an exemplary embodiment, as shown in fig. 3, the present embodiment provides a session management method, which includes the following steps:
step S310, if the client establishes a connection channel with the instant communication server, local session information of the client is obtained, wherein the local session information comprises a session identifier.
Step S320, writing the local session information into a temporary queue;
step S330, creating a write cache task, and storing the write cache task in a task queue, where the write cache task includes a session identifier, and it should be noted that the execution steps of step S320 and step S330 are not limited herein;
step S340, when executing the write cache task, inquiring the session existence state of the local session information corresponding to the session identifier in the temporary queue based on the session identifier;
in step S350, if the session existence status is present, the local session information is written into the preset cache.
In the related art, when a connection channel is established between a client and an instant messaging server, the instant messaging server usually records session information locally and writes the session information into a distributed cache (an exemplary example of a preset cache), and as the user volume and the message volume increase continuously, the write operation to the distributed cache increases continuously, the corresponding operation delay also increases, and the overall performance of instant messaging is affected, such as the increase of the channel establishment delay and the increase of the message forwarding delay. The heartbeat packets are generally sent at intervals of 3 minutes, and if 500 ten thousand users are online at the same time, there are approximately 3 thousand write cache operations per second, and if the received message packets are also updated synchronously, the write cache operations are larger. Like a large volume of instant messaging applications, 5000 ten thousand messages per second are online at the same time, which requires very high performance of the distributed caching component. In order to solve the problem of frequent update of the distributed cache in the related art, by the method shown in fig. 3, the task queue and the processing thread for writing the distributed cache are initialized when the instant messaging server is started, and the delay queue and the corresponding processing thread are created in response to a retry, so that unnecessary retries are reduced due to delay. The single queue corresponds to one or more processing threads, and the number of the processing threads is set according to the task magnitude. When the request magnitude is suddenly multiplied, or the queue backlog is caused by high writing time consumption due to the failure of the distributed cache component, at this time, under the condition that the queue is full, the local file (namely, the temporary queue) can be written without discarding, that is, the local file is used as the temporary queue, and the specific implementation is not described here. When a user establishes a connection channel with an instant communication server, local session information is recorded, then a write distributed cache task is created, and the task comprises a session identifier and is placed into a task queue. And the processing thread acquires the task from the queue, inquires local session information based on the session identifier, writes the local session information into the distributed cache if the local session information exists and does not fail, and ends the processing if the local session information does not fail.
In an embodiment, each piece of local session information corresponds to one write caching task, and the current write caching task is corresponding to which piece of local session information that needs to be written to can be identified through the session identifier. By correspondingly searching whether the local session information is still stored in the temporary queue, the failed local session information can be immediately eliminated, the system load is reduced, the writing pressure of the local session information of the preset cache can be reduced, the local session information with a proper magnitude can be selectively written into the preset cache according to the current bearable state, and the performance requirement on the cache component can be reduced.
The preset cache may be a distributed cache system, or may be a storage space set by those skilled in the art.
In an embodiment, if the session existence status is non-existent, the write caching task is ended, and the next write caching task in the queue is considered to be executed.
In an embodiment, if the session existence status is existence, after writing the local session information into the preset cache, the method further includes:
acquiring the writing state of local session information;
if the writing fails, creating a writing retry task, wherein the writing retry task comprises a writing retry time threshold and a session identifier of local session information, and adding the writing retry task into a writing retry processing queue;
determining a session existence state of local session information based on the session identifier of the write retry task in the write retry processing queue;
and if the session existing state is present, rewriting the local session information into the preset cache until the writing state is writing success or the execution times of the writing retry task are equal to the threshold value of the writing retry times.
The action of writing the local session information into the preset cache is only executed, but the situation of write-in failure may exist due to write-in failure caused by factors such as downtime of a server, and if the write-in state is not followed up, the problem of inconsistent cache of the session information still can be caused.
In an embodiment, based on the session identifier of the write retry task in the write retry processing queue, if the session existence status is existence, before rewriting the local session information into the preset cache, the method further includes:
determining a write retry interval time according to the write retry times, a preset first parameter and a preset second parameter;
and executing the write retry task in the write retry processing queue based on the write retry interval time.
An exemplary retry interval is determined as follows:
f (n) = a + b = n formula (1);
wherein f (n) is the retry interval, a is a predetermined first parameter, b is a predetermined second parameter, and n is the number of write retries.
The preset first parameter and the preset second parameter can be set by those skilled in the art as needed, for example, a =5 and b =3 can be set (adjusted according to actual conditions). The retry interval time may be in units set by one skilled in the art, such as seconds.
Referring to fig. 4, fig. 4 is a flowchart illustrating a session management method according to another embodiment of the present application. Specifically, in an exemplary embodiment, as shown in fig. 4, the client establishes a connection channel with the IM server (instant messaging server) to generate a task of writing the local session information, and on one hand, writes the local session information into a temporary queue, where the temporary queue may be a storage space (illustrated by a cylinder) of the local session confidence shown in the figure, and the temporary queue may be a local file or other space set by a person skilled in the art. On the other hand, a write distributed cache task (namely, a write cache task) is created and is placed into a queue (namely, a task queue), when the write distributed cache task is consumed, local session information is inquired, whether the local session information exists or not and whether the local session information fails or not are judged by inquiring a temporary queue, namely, inquiring the local session information in a graph, if the local session information exists and does not fail, the local session information is written into the distributed cache (namely, a preset cache), and if the local session information does not exist or fails, execution of the write distributed cache task is finished. Judging the writing state of the local session information written into the distributed cache, namely judging whether the writing is successful or not, if the writing is successful, finishing the execution of the writing distributed cache task, if the writing is failed, creating the writing distributed cache task, and putting the writing distributed cache task into a queue, wherein the writing distributed cache task at the moment is taken as a retry task (namely the retry writing distributed cache task in the figure 4), putting the retry processing queue (namely the retry delay queue in the figure 4), consuming the retry writing distributed cache task, re-inquiring the local session information, and repeating the steps until the writing state is the writing success, or the execution times of the writing retry task is equal to the threshold of the retry times of writing. For example, after the write distributed cache task is executed for the first time, if the write status is write failure, creating a retry task, executing the first retry task in 5 seconds, monitoring the write status again, if the write failure still exists, executing the retry task again, and accumulating the execution times of the retry task, which is 2 times, monitoring the write status again, and looping the process of executing the retry task, monitoring the write status, and accumulating the execution times of the retry task until the write success, or the execution times are equal to the write retry time threshold.
The problem of inconsistency caused by the fact that session information is written into the distributed cache and finally fails when a connection channel is established can be solved through the retry strategy (write failure, the process of creating and executing a write retry task). Compared with the prior art that the cache is updated through the heartbeat packet, the session information is written into the cache again, so that the real-time performance is better, and the distributed cache does not need to be updated frequently.
In an embodiment, when the connection channel between the client and the instant messaging server is closed, the session is removed from the distributed cache, and the retry method (retry strategy) in the above embodiment is also adopted to ensure that the session can be removed when the IM server is in normal operation.
In an embodiment, the method further comprises:
if the client and the instant communication server close a connection channel, removing local session information of the client in a preset cache, detecting a removal state, if the removal fails, creating a removal retry task, wherein the removal retry task comprises a removal retry time threshold and a session identifier of the local session information, and adding the removal retry task into a removal retry processing queue;
based on the session identifier of the removal retry task in the removal retry processing queue, if the session existence status is existence, the local session information is removed from the preset cache again until the removal status is successful, or the execution times of the removal retry task is equal to the removal retry time threshold.
In an embodiment, if the session existence status is existence, after writing the local session information into the preset cache, the method further includes:
updating historical instance information of an instance in a preset cache according to current instance information of the instance at a first time interval, wherein the current instance information is generated according to an instant messaging server address of an instant messaging server, an instance Identifier of the instance, active time of the instance and an active state of the instance, the instant messaging server corresponds to one or more instances, one instance corresponds to one or more pieces of local session information stored in the preset cache, the instance Identifier is Unique under the instant IM server address, the instance Identifier can be generated according to a timestamp or a Universal Unique Identifier (UUID), the instance Identifier can be generated according to other rules set by a person skilled in the art, and the current instance information can be updated in a mode that the current instance information replaces original historical instance information or is stored in the preset cache, and the current instance information is marked as instance information for external acquisition of the instance;
determining the interval duration of the instance according to the updated active time of the instance in the preset cache and the current time, wherein the current time is the detection time, the updated active time of the instance is the active time which is closest to the current time in the active time of a certain instance, and the interval duration is the time difference between the two times;
the validity of the instance is determined based on the interval duration and the active state of the instance, and an exemplary determination of validity is: if the active state is active and the interval duration is less than the preset interval threshold, the active state is valid, otherwise, if the active state is inactive and the interval duration is greater than or equal to the preset interval threshold, the active state is invalid, or whether the active state is valid or invalid is determined according to the size between the interval duration and the preset interval threshold only when the active state is valid or invalid;
if the validity of the instance is determined to be invalid, the local session information corresponding to the instance is removed from the preset cache, and if the instance is invalid, all the session information under the instance is invalid and can be removed together.
Compared with the scheme in the related technology, the method of the embodiment introduces the instance identification, removes the active time of the session, replaces the active time of the session with the active time of the instance, and removes all session information under the instance once the instance fails, so that the scheme is simpler to implement, and the calculation power is saved.
In an embodiment, after updating the historical instance information of the instance in the preset cache with the current instance information of the instance at a first time interval, the method further includes:
acquiring the updating state of the current instance information;
and if the updating fails, updating the historical instance information again according to the current instance information at a second time interval until the updating is successful or the instant messaging server corresponding to the instance is closed, wherein the second time interval is smaller than the first time interval.
By the method, the success of updating the current instance can be guaranteed as much as possible, so that the judgment on the validity of the instance in the embodiment is facilitated.
In one embodiment, when the instant messaging server is normally stopped, an asynchronous callback is performed, the cache of the current instance information is updated, and the record identified by the instance is used.
In the related technology, the session active time of the distributed cache is inconsistent with the session active time of the IM server, and the distributed cache is updated only when a heartbeat packet is received, so that the session active time of the IM server is inconsistent with the session active time of the IM server. When the network state is not good and the client is applied to the background, the heartbeat packet is not received on time, if the heartbeat interval is assumed to be 3 minutes, the interval of the session active time expiration is judged to be 8 minutes, after the session is established, the heartbeat is received in the 1 st minute, then the message is received in the 2 nd minute, then the next heartbeat is received in the 9 th minute due to the network and other reasons, and the session state which is just checked when the message exists between the 8 th minute and the 9 th minute is not on-line, so that the message is not sent in time to reach the user. The improved method is used for improving the problem of frequent updating of the distributed cache on the premise of ensuring the consistency of the distributed cache of the session information. Through analysis, the original method updates the cache when receiving the heartbeat packet, so that the following conditions are solved: when a connection channel is established, the session information is written into the distributed cache and finally fails, the cache is updated when a heartbeat packet is received, and then the session information is written into the cache by writing again. And when the Im server is suddenly down or is not normally restarted, the distributed cache of the session is not removed, and whether the session is expired or not is judged based on the active time of the session during query. In the method provided by the embodiment of the present application, a heartbeat mechanism of an IM server is introduced, and a session information corresponding to an expired IM server instance is also invalid and is removed, where an example implementation manner is as follows:
when the IM server starts, instance identification is initialized, and the identification is ensured to be unique under the IP of the local machine, such as generation of a time stamp or a UUID.
And creating a daemon thread, and periodically writing the instance information into a distributed cache (a local cache and other storage spaces set by a person skilled in the art). That is, updating the historical instance information of the instance in the preset cache with the current instance information of the instance according to the first time interval can be implemented by executing the daemon thread.
For instance information caching: taking an IM server IP by key, if IM _ node _10.0.0.1, value adopts a hash structure, taking by hash: the instance identifies that hashvalue contains the active time, state (0: alive, 1: closed). The active time here is the active time of the example. The state is also the active state.
Timing strategy: the execution is performed once firstly, then the execution is performed once every 2 minutes, the current execution timestamp is taken as the active time, and the state is transmitted to 0.
Write cache miss (update miss): retries are continued for an interval of time, such as 5 seconds, until successful or IM server shutdown.
And if the IM server is normally stopped, updating the cache based on a shutdown mechanism of the system, and removing the record of which the hashkey is the instance identifier.
In one embodiment, when establishing and closing a connection channel, the distributed cache of session information is updated or removed, and the retry strategy provided in fig. 4 ensures that the IM server can be successfully run.
In an embodiment, the local session information further includes a client identifier, an instant messaging server address, an instance identifier, and a set-up time, and after the historical instance information of the instance in the preset cache is updated with the current instance information of the instance according to a first time interval, the method includes:
acquiring an information issuing request, wherein the information issuing request comprises a client identifier;
inquiring a plurality of local session information including client identifications in a preset cache and/or a temporary queue according to the request client identification to obtain a plurality of target session information, wherein whether the target session information exists in the temporary queue (local file) can be inquired first, and then whether the target session information exists in the preset cache can be inquired;
acquiring a target instance identifier of a target instance corresponding to the target session information and a target instant messaging server address of a target instant messaging server corresponding to the target instance;
inquiring the updated active time of each target instance in a preset cache based on the target instance identification of each target session information and the target instant messaging server address;
determining the target duration of each target session message according to each active time and the current time;
asynchronous removal is carried out on target session information of which the target duration is less than the preset invalidation duration, the steps are carried out on each piece of target session information, and whether the asynchronous removal is needed or not is judged;
if the asynchronous removal exists, at least one piece of target session information exists, and each piece of target session information is transferred to the instant messaging server and issued.
In one embodiment, the local session information caching rule is: key: taking a user identifier (client identifier), adopting a hash structure, taking a session identifier from a hash key, wherein the hash value comprises: the method comprises the steps of session identification, user identification (client identification), server ip (instant messaging server address), instance identification, establishing time and the like, and compared with the method in the related art, the method adds the instance identification newly and removes the active time of the session.
Referring to fig. 5, fig. 5 is a flowchart illustrating a session management method according to another embodiment of the present application. In an exemplary embodiment, as shown in fig. 5, in an exemplary embodiment, before issuing a message to a user, session information of the user needs to be queried, and the process includes:
first, a list of session information for the user is retrieved from the distributed session cache based on the user identification.
The method includes that a user identifier is also a client identifier, when an information issuing request is obtained, the information issuing request carries the client identifier, a plurality of pieces of local session information including the client identifier in a preset cache are inquired based on the client identifier, and a plurality of pieces of target session information are obtained (namely the inquired local session information including the client identifier is used as the target session information).
Then, traversing each session information, inquiring IM server instance information from a local cache, inquiring the active time of the IM server instance based on the server IP and the instance identification, if the active time exists and the interval between the active time and the current time is less than a certain threshold value, such as 8 minutes, the session is considered to be valid, otherwise, the session is invalid, and the session is removed asynchronously.
In order to improve the query efficiency, the IP server instance cache may be a local cache, the validity period is less than 8 minutes, for example, 5 minutes, and cannot be greater than the expiration interval, and the instance is normally updated based on the heartbeat mechanism of the IM server instance.
And finally, returning the effective session of the user, if the effective session (target session information after asynchronous removal) exists, indicating that the user is online, and transferring the message to an IM server of the corresponding session for issuing.
For example, with reference to fig. 5, the IM server instance information is searched in a local cache (temporary queue) according to the client identifier, if the IM server instance information exists in the local cache, the IM server instance information is searched in a distributed cache (preset cache), if the IM server instance information is searched, the IM server instance information is written in the local cache, as in the case where the local cache has no target session information, whether the IM server instance information is searched or the IM server instance information is searched to determine whether the active time of the IM server instance information is expired (whether the target time length is less than the preset expiration time length is determined), and if the IM server instance information is not searched or the target time length is greater than the preset expiration time length, the expired session information is removed. Otherwise, collecting effective session (namely target session information after asynchronous removal), judging whether all target session information is traversed, if so, returning effective session information, ending the process, and if not, continuing to inquire IM server instance information from the local cache until the traversal is completed.
If the query of the distributed cache fails, the query failure is directly returned, and the processes of pushing and the like of manufacturers can be carried out according to the failure processing.
Compared with a mode of judging based on the active time of the session in the related technology, the mode provided by the embodiment judges based on the active time of the instance, is simpler and more convenient, saves calculation power, and is convenient and quick.
In an embodiment, after updating the historical instance information of the instance in the preset cache with the current instance information of the instance at a first time interval, the method further includes:
pre-establishing a mapping relation among an instance identifier, a client identifier and a session identifier;
acquiring instance identification and active time in current instance information of an instance corresponding to an instant messaging server;
determining the interval duration of the active time and the current time;
and if the interval duration is longer than the preset failure duration, traversing the session list of the example, sequentially deleting the local session information in the preset cache, deleting the session list and deleting the example information cache in the preset cache based on the session identifier corresponding to the example identifier of the example and the user identifier.
The instance information cache comprises current instance information or the current instance information and historical instance information. The concrete content of the instance information cache depends on the updating mode of the current instance information.
By the method, the expired conversation cache can be cleared, the timed expired conversation task is cleared, whether the interval duration is greater than the preset failure duration is actively detected, and the problem that the expired conversation occupies a storage space for a long time due to no query operation can be avoided.
And the expired session cache needs to be cleared, so that the space resource is released. The above is only to clear the expired session when inquiring the session, and how to clear the expired session without inquiring the operation. Introducing a task of cleaning expired sessions at regular time, one exemplary implementation is as follows:
firstly, when establishing a connection channel and writing the connection channel into a session cache, collecting a session list of an IM server instance: the caching key takes the IM server IP plus the instance identifier, such as IM _ node _ sessions _10.0.0.1_00001, the value adopts a set structure, and the value comprises a session identifier and a user identifier (client identifier).
The start-up timing task (the interval is not too long because it does not clean the expired session, which mainly affects the query performance) is executed once every 3 minutes (other markets may be set by those skilled in the art), and the processing logic:
based on the configured IP list of the IM server, sequentially traversing and inquiring instance information of each IP, judging whether the interval between the active time and the current time is less than 8 minutes, if so, not processing, otherwise, traversing the session list of the instance, deleting the session information from the session cache by using the session identifier and the user identifier, and then deleting the session list of the instance and deleting the instance information cache.
By the session management method provided by the embodiment, the problem that the distributed cache needs to be updated frequently by the method provided by the related technology is solved, the consistency of session information is enhanced, and the situation that the original method is slightly inconsistent is avoided. And there is no significant loss in query performance. The overall performance of the IM server is greatly improved, for example, 3 ten thousand distributed cache write operations per second are reduced, and the same amount of distributed cache components can accommodate about 1.5 ten thousand new session establishment per second.
By the method provided by the embodiment, the problems that when the connecting channel is established, the IM server locally records the session information, writes the session information into the distributed cache, and processes the session information in case of write failure or sudden shutdown of the server can be solved, and when the connecting channel is closed, the IM server removes the local session information, removes the distributed cache, and processes the session information in case of failure or sudden shutdown of the server can be solved. An optional implementation manner is to add asynchronous retry, update the active time of the session each time a data packet is received, update the distributed cache at intervals synchronously (generally, when a heartbeat packet is received), judge whether the active time exceeds a certain time interval (generally, 2 to 3 times of the heartbeat interval) during query, and consider that the data packet is not online if the active time exceeds the certain time interval.
According to the session management method provided by the application, if a connection channel is established between the client and the instant messaging server, local session information including session identification of the client is obtained, and the local session information is written into the temporary queue; the method comprises the steps of creating a write cache task, storing the write cache task into a task queue, inquiring a session existence state of local session information corresponding to a session identifier in a temporary queue based on the session identifier when the write cache task is executed, writing the local session information into a preset cache if the session existence state is existed, and solving the problems of poor session information consistency and low IM service quality when a user is online high and a plurality of messages need to be processed simultaneously.
By detecting the writing state of the local session information, when the writing fails, a writing retry task is created and executed, the writing success rate can be further improved, the consistency of the local session is improved, and the IM service quality is improved.
When the connection channel is closed, the local session information can be actively removed, the removal state is detected, a removal retry task is created and executed when the removal fails, the removal completion rate of the failed local session information can be improved, the meaningless occupation of the storage space is reduced, and the utilization rate of the storage space in the preset cache is improved.
The method comprises the steps of updating historical instance information by introducing instance information of an instance of an instant messaging server at regular time according to current instance information, representing active time of a session by active time of the instance, determining validity of the instance based on the active time of the instance, enabling the session to be valid when the instance is valid, and enabling the session to be invalid if the instance is invalid, and removing local session information. The active time of the example is used for replacing the active time of the original session, whether the local session information is removed or not is judged, the problem that the distributed cache is frequently updated can be solved, the consistency of the session information is enhanced, and the condition that a small amount of session information is inconsistent cannot occur. And there is no significant loss in query performance. There will be a great improvement to IM overall performance.
The embodiment of the application also provides a method for triggering the clearing of the expired session based on the query of the user A, a plurality of pieces of target session information are determined by issuing the client identification in the information request, whether the target session information is asynchronously removed or not is determined based on the target duration corresponding to each piece of target session information, and if the number of the target session information after asynchronous removal is not zero, the rest of the target session information is issued to another corresponding user B through the instant messaging server. By the method, the local session information of some failed sessions can be deleted, and space resources are released.
The embodiment of the application further provides a method for actively clearing the expired session, which is characterized in that a timing task is configured, an instance identifier and an active time in current instance information of an instance corresponding to an instant messaging server are obtained at regular time, the interval duration between the active time and the current time is determined, if the interval duration is greater than a preset failure duration, a session list of the instance is traversed, local session information in a preset cache is sequentially deleted based on the session identifier and a user identifier corresponding to the instance identifier of the instance, the session list is deleted, an instance information cache in the preset cache is deleted, the expired session can be actively cleared in the state of no query, and space resources are released.
As shown in fig. 6, fig. 6 is a block diagram illustrating a session management system provided in an embodiment of the present application. As shown in fig. 6, the present application further provides a session management system, which includes:
an obtaining module 601, configured to obtain local session information of the client if a connection channel is established between the client and the instant messaging server, where the local session information includes a session identifier; a temporary writing module 602, configured to write local session information into a temporary queue; a creating module 603, configured to create a write cache task, and store the write cache task in a task queue, where the write cache task includes a session identifier; a query module 604, configured to query, based on the session identifier, a session existence state of local session information corresponding to the session identifier in the temporary queue when executing the write cache task; a cache write-in module 605, configured to write the local session information into a preset cache if the session existence status is existence.
It should be noted that the session management system provided in the foregoing embodiment and the session management method provided in the foregoing embodiment belong to the same concept, and the specific manner in which each module executes operations has been described in detail in the method embodiment, and is not described herein again. In practical applications, the session management system provided in the foregoing embodiment may allocate the above functions to different functional modules according to needs, that is, the internal structure of the system is divided into different functional modules to complete all or part of the above described functions, which is not limited herein. Therefore, the application effectively overcomes various defects in the prior art and has high industrial utilization value.
An embodiment of the present application further provides a computer device, where the computer device may include: one or more processors; and one or more machine readable media having instructions stored thereon that, when executed by the one or more processors, cause the apparatus to perform the method of fig. 2. Fig. 7 shows a schematic structural diagram of a computer device 700. Referring to fig. 7, a computer device 700 includes: processor 710, memory 720, power supply 730, display unit 740, input unit 760.
The processor 710 is a control center of the computer device 700, connects the respective components using various interfaces and lines, and performs various functions of the computer device 700 by operating or executing software programs and/or data stored in the memory 720, thereby performing overall monitoring of the computer device 700. In the embodiment of the present application, the processor 710 executes the method as described in fig. 2 when calling the computer program stored in the memory 720. Optionally, processor 710 may include one or more processing units; preferably, the processor 710 may integrate an application processor, which mainly handles operating systems, user interfaces, applications, etc., and a modem processor, which mainly handles wireless communications. In some embodiments, the processor, memory, and/or memory may be implemented on a single chip, or in some embodiments, they may be implemented separately on separate chips.
The memory 720 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, various applications, and the like; the storage data area may store data created according to the use of the computer device 700, and the like. Further, the memory 720 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device, among others.
The computer device 700 also includes a power supply 730 (e.g., a battery) for powering the various components, which may be logically coupled to the processor 710 via a power management system that may be used to manage charging, discharging, and power consumption.
The display unit 740 may be used to display information input by a user or information provided to the user, and various menus of the computer device 700, and is mainly used to display a display interface of each application in the computer device 700 and objects such as texts and pictures displayed in the display interface in the embodiment of the present application. The display unit 740 may include a display panel 750. The Display panel 750 may be configured in the form of a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), or the like.
The input unit 760 may be used to receive information, such as numbers or characters, input by a user. The input unit 760 may include a touch panel 770 and other input devices 780. Touch panel 770, also referred to as a touch screen, may collect touch operations by a user on or near the touch panel 770 (e.g., operations by a user on or near touch panel 770 using a finger, a stylus, or any other suitable object or attachment).
Specifically, the touch panel 770 can detect a touch operation of a user, detect signals caused by the touch operation, convert the signals into touch point coordinates, transmit the touch point coordinates to the processor 710, and receive and execute a command transmitted from the processor 710. In addition, the touch panel 770 may be implemented by various types such as resistive, capacitive, infrared, and surface acoustic wave. Other input devices 780 may include, but are not limited to, one or more of a physical keyboard, function keys (e.g., volume control keys, power on/off keys, etc.), a trackball, a mouse, a joystick, and the like.
Of course, the touch panel 770 may cover the display panel 750, and when the touch panel 770 detects a touch operation thereon or nearby, it is transmitted to the processor 710 to determine the type of the touch event, and then the processor 710 provides a corresponding visual output on the display panel 750 according to the type of the touch event. Although in fig. 7, touch panel 770 and display panel 750 are shown as two separate components to implement input and output functions of computer device 700, in some embodiments, touch panel 770 may be integrated with display panel 750 to implement input and output functions of computer device 700.
The computer device 700 may also include one or more sensors, such as pressure sensors, gravitational acceleration sensors, proximity light sensors, and the like. Of course, the computer device 700 described above may also include other components such as a camera, as desired in a particular application.
Embodiments of the present application also provide a computer-readable storage medium, which stores instructions that, when executed by one or more processors, enable the above-mentioned device to perform the method described in the present application as fig. 2.
Those skilled in the art will appreciate that fig. 7 is merely exemplary of a computer device and is not intended to limit the device, which may include more or fewer components than illustrated, or some of the components may be combined, or different components. For convenience of description, the above parts are separately described as modules (or units) according to functional division. Of course, the functionality of the various modules (or units) may be implemented in the same one or more pieces of software or hardware when implementing the present application.
Those skilled in the art will appreciate that the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein. The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application, and it is understood that each flowchart and/or block in the flowchart illustrations and/or block diagrams, and combinations of flowcharts and/or block in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be applied to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above embodiments are merely illustrative of the principles and utilities of the present application and are not intended to limit the application. Any person skilled in the art can modify or change the above-described embodiments without departing from the spirit and scope of the present application. Accordingly, it is intended that all equivalent modifications or changes which can be made by those skilled in the art without departing from the spirit and technical concepts disclosed in the present application shall be covered by the claims of the present application.

Claims (10)

1. A method for session management, the method comprising:
if a connection channel is established between a client and an instant messaging server, local session information of the client is obtained, wherein the local session information comprises a session identifier;
writing the local session information into a temporary queue;
creating a write cache task, and storing the write cache task into a task queue, wherein the write cache task comprises the session identifier;
when the write cache task is executed, inquiring the session existence state of the local session information corresponding to the session identifier in the temporary queue based on the session identifier;
and if the session existence state is existence, writing the local session information into a preset cache.
2. The session management method according to claim 1, wherein if the session existence status is existence, after writing the local session information into a preset cache, the method further comprises:
acquiring the writing state of the local session information;
if the writing fails, a writing retry task is created, wherein the writing retry task comprises a writing retry time threshold and a session identifier of the local session information, and the writing retry task is added into a writing retry processing queue;
determining a session existence status of the local session information based on the session identifier of a write retry task in the write retry processing queue;
and if the session existing state is present, rewriting the local session information into the preset cache until the writing state is writing success, or the execution times of the writing retry task are equal to the writing retry time threshold.
3. The session management method according to any one of claims 1 or 2, wherein if the session existence status is existence, after writing the local session information into a preset cache, the method further comprises:
if the client and the instant communication server close the connection channel, removing the local session information of the client in the preset cache, and detecting a removal state;
if the removal fails, creating a removal retry task, wherein the removal retry task comprises a removal retry time threshold and a session identifier of local session information, and adding the removal retry task into a removal retry processing queue;
and determining the session existence state of local session information based on the session identifier of the removal retry task in the removal retry processing queue, and if the session existence state is existed, removing the local session information from the preset cache again until the removal state is successful or the execution times of the removal retry task is equal to the removal retry time threshold.
4. The session management method according to any one of claims 1 or 2, wherein if the session existence status is existence, after writing the local session information into a preset cache, the method further comprises:
updating historical instance information of the instances in the preset cache according to current instance information of the instances at a first time interval, wherein the current instance information is generated according to an instant messaging server address of the instant messaging server, instance identifiers of the instances, active time of the instances and active states of the instances, the instant messaging server corresponds to one or more instances, and one instance corresponds to one or more pieces of local session information stored in the preset cache;
determining the interval duration of the instance according to the updated active time and the current time of the instance in the preset cache;
determining a validity of the instance based on the interval duration and an active state of the instance;
and if the validity of the instance is determined to be invalid, removing the local session information corresponding to the instance from the preset cache.
5. The session management method according to claim 4, wherein after updating the historical instance information of the instance in the preset cache with the current instance information of the instance at the first time interval, the method further comprises:
acquiring the updating state of the current instance information;
and if the updating fails, updating the historical instance information again according to a second time interval by using the current instance information until the updating is successful or the instant messaging server corresponding to the instance is closed, wherein the second time interval is smaller than the first time interval.
6. The session management method according to claim 4, wherein the local session information further includes a client identifier, an instant messaging server address, an instance identifier, and a setup time, and after updating the historical instance information of the instance in the preset cache with the current instance information of the instance according to a first time interval, the method includes:
acquiring an issued information request, wherein the issued information request comprises a client identification;
inquiring a plurality of local session information including the client identifier in a preset cache and/or a temporary queue according to the request client identifier to obtain a plurality of target session information;
acquiring a target instance identifier of a target instance corresponding to the target session information and a target instant messaging server address of a target instant messaging server corresponding to the target instance;
inquiring the updated active time of each target instance in the preset cache based on the target instance identification and the target instant messaging server address of each target session information;
determining a target duration of each piece of target session information according to each piece of active time and the current time;
asynchronously removing the target session information of which the target duration is less than a preset failure duration;
if the asynchronous removal exists, at least one piece of target session information exists, and each piece of target session information is transferred to an instant messaging server and issued.
7. The session management method according to claim 4, wherein after updating the historical instance information of the instance in the preset cache with the current instance information of the instance at a first time interval, the method further comprises:
pre-establishing a mapping relation among the instance identifier, the client identifier and the session identifier;
acquiring instance identification and active time in current instance information of an instance corresponding to an instant messaging server;
determining the interval duration of the active time and the current time;
and if the interval duration is longer than the preset failure duration, traversing the session list of the example, sequentially deleting the local session information in a preset cache based on the session identifier corresponding to the example identifier of the example and the user identifier, deleting the session list, and deleting the example information cache in the preset cache.
8. A session management system, the system comprising:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring local session information of a client if the client establishes a connection channel with an instant messaging server, and the local session information comprises a session identifier;
the temporary writing module is used for writing the local session information into a temporary queue;
the creating module is used for creating a write cache task and storing the write cache task into a task queue, wherein the write cache task comprises the session identifier;
the query module is used for querying the session existence state of the local session information corresponding to the session identifier in the temporary queue based on the session identifier when the write cache task is executed;
and the cache writing module is used for writing the local session information into a preset cache if the session existence state is existed.
9. A computer device, comprising:
a processor; and the combination of (a) and (b),
a computer readable medium having stored thereon instructions that, when executed by the processor, cause the apparatus to perform the method of any one of claims 1 to 7.
10. A computer-readable medium having stored thereon instructions which are loaded by a processor and which perform the method of any one of claims 1 to 7.
CN202211118548.7A 2022-09-14 2022-09-14 Session management method, system, device and storage medium Pending CN115473866A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211118548.7A CN115473866A (en) 2022-09-14 2022-09-14 Session management method, system, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211118548.7A CN115473866A (en) 2022-09-14 2022-09-14 Session management method, system, device and storage medium

Publications (1)

Publication Number Publication Date
CN115473866A true CN115473866A (en) 2022-12-13

Family

ID=84332885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211118548.7A Pending CN115473866A (en) 2022-09-14 2022-09-14 Session management method, system, device and storage medium

Country Status (1)

Country Link
CN (1) CN115473866A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200212A (en) * 2012-01-04 2013-07-10 中国移动通信集团公司 Method and system achieving distributed conversation under cloud computing environment
US20140233584A1 (en) * 2012-11-29 2014-08-21 Tencent Technology (Shenzhen) Company Limited Method, device, and system for information processing based on distributed buses
CN106888150A (en) * 2015-12-15 2017-06-23 腾讯科技(深圳)有限公司 Instant message treating method and apparatus
CN110941710A (en) * 2019-11-27 2020-03-31 贝壳技术有限公司 Method, device, medium and electronic equipment for realizing session
CN113886494A (en) * 2021-09-30 2022-01-04 完美世界(北京)软件科技发展有限公司 Message storage method, device, equipment and computer readable medium for instant messaging
CN114615315A (en) * 2022-03-22 2022-06-10 深圳壹账通创配科技有限公司 Communication method, device, equipment and storage medium for online conversation
CN114615355A (en) * 2022-05-13 2022-06-10 恒生电子股份有限公司 Message processing method and message analysis module

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200212A (en) * 2012-01-04 2013-07-10 中国移动通信集团公司 Method and system achieving distributed conversation under cloud computing environment
US20140233584A1 (en) * 2012-11-29 2014-08-21 Tencent Technology (Shenzhen) Company Limited Method, device, and system for information processing based on distributed buses
CN106888150A (en) * 2015-12-15 2017-06-23 腾讯科技(深圳)有限公司 Instant message treating method and apparatus
CN110941710A (en) * 2019-11-27 2020-03-31 贝壳技术有限公司 Method, device, medium and electronic equipment for realizing session
CN113886494A (en) * 2021-09-30 2022-01-04 完美世界(北京)软件科技发展有限公司 Message storage method, device, equipment and computer readable medium for instant messaging
CN114615315A (en) * 2022-03-22 2022-06-10 深圳壹账通创配科技有限公司 Communication method, device, equipment and storage medium for online conversation
CN114615355A (en) * 2022-05-13 2022-06-10 恒生电子股份有限公司 Message processing method and message analysis module

Similar Documents

Publication Publication Date Title
US9015315B2 (en) Identification and monitoring of distributed business transactions
TWI743163B (en) Chat record processing method and device of instant chat tool
CN102449628A (en) Architectural pattern for persistent web application design
CN103338243A (en) Method and system for updating cache data of Web node
CN111338773A (en) Distributed timed task scheduling method, scheduling system and server cluster
CN110737682A (en) cache operation method, device, storage medium and electronic equipment
CN103370917A (en) Message processing method and server
CN111338893A (en) Process log processing method and device, computer equipment and storage medium
CN107800767A (en) A kind of access response management method, server and computer-readable recording medium
CN110740155B (en) Request processing method and device in distributed system
CN113886494A (en) Message storage method, device, equipment and computer readable medium for instant messaging
CN105681426B (en) Heterogeneous system
CN114116014A (en) Instruction issuing method and device, intelligent equipment and storage medium
CN112256676A (en) Method, device, equipment and medium for migrating database
CN111913917A (en) File processing method, device, equipment and medium
CN105471616B (en) Caching system management method and system
CN115473866A (en) Session management method, system, device and storage medium
CN106375324B (en) Network communication system and method based on TCP/IP communication protocol
CN107395443A (en) A kind of distributed type assemblies management method, apparatus and system
CN102023997A (en) Data query system, construction method thereof and corresponding data query method
CN105897869A (en) APP sleep management method and apparatus
WO2020238748A1 (en) Data synchronization processing method and apparatus, electronic device and computer storage medium
CN115118475A (en) Method, device, equipment and medium for dispatching cryptographic equipment cluster
TWI496014B (en) Decentralized cache object removal method, system and delete server
CN111104376B (en) Resource file query method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination