WO2015139598A1 - Instant messaging method, instant messaging apparatus and instant messaging terminal - Google Patents

Instant messaging method, instant messaging apparatus and instant messaging terminal Download PDF

Info

Publication number
WO2015139598A1
WO2015139598A1 PCT/CN2015/074343 CN2015074343W WO2015139598A1 WO 2015139598 A1 WO2015139598 A1 WO 2015139598A1 CN 2015074343 W CN2015074343 W CN 2015074343W WO 2015139598 A1 WO2015139598 A1 WO 2015139598A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication data
terminal
user
data
identifier
Prior art date
Application number
PCT/CN2015/074343
Other languages
French (fr)
Inventor
Zhijie XIAO
Original Assignee
Tencent Technology (Shenzhen) Company Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology (Shenzhen) Company Limited filed Critical Tencent Technology (Shenzhen) Company Limited
Publication of WO2015139598A1 publication Critical patent/WO2015139598A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • 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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases

Definitions

  • the present disclosure relates to the field of instant messaging, and in particular to an instant messaging method, an instant messaging apparatus and an instant messaging terminal.
  • a sending party actively sends information to a receiving party according to information of the receiving party such as an address or account, and after receiving the information of the sending party, the receiving party makes a reply according to the information of the sending party such as an address or account.
  • information of the receiving party such as an address or account
  • the receiving party makes a reply according to the information of the sending party such as an address or account.
  • An instant messaging method includes:
  • a server having one or more processors and memory storing programs executed by the one or more processors:
  • An instant messaging apparatus includes:
  • processors one or more processors
  • a first obtaining module configured to receive first communication data sent by a first terminal, the first communication data carrying a corresponding scenario identifier and first user identifier;
  • a matching module configured to search, according to the scenario identifier, for second communication data matching the first communication data
  • a sending module configured to: if the second communication data is found, send the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner; and obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner;
  • a first filtering processing module configured to: if the second communication data is not found, perform filtering processing on the first communication data, where
  • the sending module is further configured to send first communication data obtained after the filtering processing performed by the first filtering processing module to the first terminal in an anonymity manner.
  • a server extracts a scenario identifier carried in first communication data sent by a first terminal, searches, according to the scenario identifier, for second communication data matching the first communication data, and sends the second communication data to the first terminal in an anonymity manner.
  • the server performs matching according to the scenario identifier of the communication data, a user of the first terminal and a user of a second terminal can perform instant messaging without the need of obtaining data of the other party in advance, and the server sends communication data in an anonymity manner, so that neither of the two parties performing instant messaging knows identity information of the other party, thereby effectively protecting user privacy.
  • a terminal device having one or more processors and memory storing programs executed by the one or more processors:
  • the foregoing instant messaging terminal obtains a scenario selected by a user, and receives, in an anonymity manner, second communication data obtained by performing matching according to a scenario identifier, so that during implementation of instant messaging, the instant messaging terminal does not know identity information of the other party, and may implement instant messaging in an anonymity manner, thereby effectively protecting user privacy relative to an "active" manner in conventional instant messaging technologies.
  • FIG. 1A is a diagram of an implementation environment of an instant messaging method according to an embodiment of the present invention.
  • FIG. 1B is a diagram of a simplified implementation environment of an instant messaging method according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of an instant messaging method according to an embodiment
  • FIG. 3 is a structural block diagram of an instant messaging system according to an embodiment
  • FIG. 4 is a structural block diagram of an instant messaging system according to another embodiment
  • FIG. 5 is a schematic flowchart of an instant messaging method according to an embodiment
  • FIG. 6 is a structural block diagram of an instant messaging apparatus according to an embodiment
  • FIG. 7 is a structural block diagram of an instant messaging apparatus according to another embodiment.
  • FIG. 8 is a structural block diagram of an instant messaging apparatus according to still another embodiment.
  • FIG. 9 is a structural block diagram of an instant messaging terminal according to an embodiment
  • FIG. 10 is a schematic diagram of a scenario selecting interface of an instant messaging terminal according to an embodiment
  • FIG. 11 is a schematic diagram of an interface of an instant messaging terminal according to an embodiment
  • FIG. 12 is a schematic diagram of an interface of an instant messaging terminal according to an embodiment.
  • FIG. 13 is a structural block diagram of an instant messaging terminal according to another embodiment.
  • the method as disclosed as following may be implemented by any appropriate computing device having one or more processors and memory.
  • the memory includes storage medium, which may further include memory modules, e.g., Read-Only Memory (ROM) , Random Access Memory (RAM) , and flash memory modules, and mass storages, e.g., CD-ROM, U-disk, removable hard disk, etc, which are all non-transitory storage medium.
  • the storage medium may be a non-transitory computer readable storage medium that stores computer programs for implementing various processes, when executed by the processors.
  • an instant messaging method provided in an embodiment of the present invention can be implemented in an application environment shown in FIG. 1A, and the application environment includes a server 11 and multiple terminals 12 communicating with the server 11.
  • the terminals 12 include but are not limited to various smartphones, tablet computers, personal digital assistants, e-book readers, Moving Picture Experts Group Audio Layer III (MP3) or Moving Picture Experts Group Audio 5 Layer IV (MP4) players, POS terminals, in-car computers, laptop portable computers, desktop computers and the like that can implement instant messaging.
  • MP3 Moving Picture Experts Group Audio Layer III
  • MP4 Moving Picture Experts Group Audio 5 Layer IV
  • a "first terminal” and a “second terminal” mentioned in the embodiment of the present invention are used to distinguish two different terminals 12, where the first terminal may be any one of the terminals 12, that is, any one of the terminals 12 can initiate instant messaging.
  • the application environment includes a server 11, and a first terminal 120 and a second terminal 122 that communicate with the server 11, the first terminal 120 and the second terminal 122 implement instant messaging by interacting with the server 11, the first terminal 120 is corresponding to a first user identifier, and the second terminal 122 is corresponding to a second user identifier.
  • the first terminal 120 initiates instant messaging is used for description.
  • the first terminal and the second terminal are only relative concepts, and the second terminal may also initiate instant messaging.
  • an instant messaging method including:
  • Step 202 A first terminal obtains a selected scenario, the scenario being corresponding to a unique scenario identifier.
  • a scenario is presented on the first terminal in a picture form, each scenario is corresponding to a unique scenario identifier, and a user can select a corresponding picture, so that the first terminal obtains a scenario identifier corresponding to a scenario selected by the user.
  • Step 204 The first terminal sends first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier.
  • the first user identifier is used to uniquely identify a first user corresponding to the first terminal, and may be any type of communication number having uniqueness, such as an instant messaging number, a mobile communication number, a social network account, a network address or the like.
  • the first terminal is corresponding to the first user identifier.
  • Scenario identifiers are used to identify different scenarios, the first user can select a scenario by using the first terminal, and the first terminal obtains a scenario identifier corresponding to the scenario selected by the first user.
  • Communication data may be text information data, voice data, video/audio data and/or a combination of any above type of data.
  • Step 206 The server searches, according to the scenario identifier, for second communication data matching the first communication data.
  • the server Whenever the server receives a piece of communication data, the server adds, according to a scenario identifier corresponding to the communication data, the communication data to a communication data set corresponding to the scenario identifier. For each piece of communication data, another communication data matching the communication data may be found in a communication data set corresponding to a scenario identifier.
  • the server searches, according to a scenario identifier carried in the first communication data, a communication data set corresponding to the scenario identifier for second communication data matching the first communication data. Further, the server may randomly find the second communication data in the communication data set corresponding to the scenario identifier, and may also perform search according to a rule, such as, based on a matching extent of location information in user data corresponding to user identifiers, or a matching extent of same user identifier keyword s.
  • Step 208 The server determines whether the second communication data is found, and if yes, enters step 210, or otherwise enters step 212.
  • Step 210 The server sends the second communication data to the first terminal in an anonymity manner, and the server obtains a second user identifier corresponding to the second communication data, and sends the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner.
  • the server can establish instant messaging between the first terminal and the second terminal, and the server sends the second communication data to the first terminal in an anonymity manner, and sends the first communication data to the second terminal in an anonymity manner.
  • the anonymity manner refers to that the first terminal receiving the second communication data and the second terminal receiving the first communication data cannot view identity information of the other party, such as, individual data information.
  • the server can first process the first communication data, to hide the first user identifier.
  • the server before sending the second communication data to the first terminal, the server can first process the second communication data, to hide the second user identifier.
  • the server always performs such processing.
  • Step 212 The server performs filtering processing on the first communication data, and sends first communication data obtained after the filtering processing to the first terminal.
  • the server can invoke, according to the scenario identifier of the first communication data, a corresponding filtering processing program to perform corresponding filtering processing on the first communication data, and return the first communication data obtained after the filtering processing to the first terminal, where the invoked filtering processing program can be corresponding to the scenario selected by the first user, and thereby the instant messaging scenario selected by the first user may be simulated.
  • the server because the first communication data and the second communication data are obtained by the server by performing matching according to the scenario identifier of the first communication data, instant messaging is performed between the first terminal corresponding to the first user identifier and the second terminal corresponding to the second user identifier without the need of knowing data of the other party in advance, and during instant messaging, the server sends communication data in an anonymity manner, so as to ensure that user data is not leaked, thereby effectively protecting user privacy.
  • the scenario identifier corresponding to the second communication data matching the first communication data is the same as the scenario identifier corresponding to the first communication data.
  • the scenario identifier of the second communication data obtained by the server by performing matching is the same as the scenario identifier of the first communication data, that is, the scenario selected by the first user by using the first terminal is the same as the scenario selected by the second user by using the second terminal. Therefore, the character, hobbies and interests of the second user corresponding to the second communication data matching the first communication data is more matched with those of the first user, thereby improving the matching extent of the two parties in instant messaging.
  • the instant messaging method further includes: obtaining, by the server, a data generating time corresponding to the first communication data.
  • Step 204 includes: searching, by the server, for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
  • the data generating time may be the time at which the terminal records or sends communication data, and may also be the time at which the server receives communication data.
  • the server in addition to performing matching according to the scenario identifier, the server further performs matching with reference to the data generating time, and that the data generating time corresponding to the second communication data matches the data generating time corresponding to the first communication data may be that the data generating times are the same or a time difference between the data generating times is within a preset range.
  • the server searches for the matching second communication data according to the scenario identifier and the data generating time of the first communication data, and the probability that the second user of the second terminal corresponding to the second communication data is simultaneously online when the first user sends the first communication data by using the first terminal is increased, and therefore timeliness of instant messaging is ensured.
  • communication data matching may be further performed based on locations at which the first terminal and the second terminal are located, such as, a distance between a location corresponding to the second communication data matching the first communication data and a location corresponding to the first communication data is within a preset range.
  • a piece of second communication data at the closest distance may be selected as the most matching second communication data, or a piece of second communication data may also be randomly selected as the most matching second communication data.
  • step 206 includes: performing, by the server, voice filtering processing on the second communication data, and sending second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner, where the first communication data is first voice data, and the second communication data is second voice data.
  • the server may preset that different scenario identifiers are corresponding to different voice filtering processing programs, and therefore the server may invoke a corresponding voice filtering processing program according to the scenario identifier of the second communication data to perform corresponding voice filtering processing on the second communication data, and send second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner.
  • the server After finding the second communication data matching the first communication data, the server does no directly send the second communication data to the first terminal, and instead, performs corresponding voice filtering processing on the second communication data (that is, second voice data) according to the scenario identifier, such as, if the corresponding scenario is a mountain, the corresponding voice filtering processing program may be a filtering processing program for simulating an echo; and sends second communication data obtained after the voice filtering processing to the first terminal, so that the first user feels that the first user performs instant messaging with the second user in a scenario selected by the first user, thereby improving diversification of the instant messaging.
  • the scenario identifier such as, if the corresponding scenario is a mountain
  • the corresponding voice filtering processing program may be a filtering processing program for simulating an echo
  • the instant messaging method further includes: obtaining, by the server, the number of times of communications between the first terminal and the second terminal, and determining whether the number of times of communications is greater than a preset threshold; and if yes, pushing, by the server, user data corresponding to the first user identifier to the second terminal, and pushing user data corresponding to the second user identifier to the first terminal.
  • the number of times of communications between the first terminal and the second terminal may be the number of times the first terminal receives the second voice data, or a total sum of the number of times the first terminal sends the first voice data and the number of times the first terminal receives the second voice data.
  • the threshold may be set in advance, such as, 10 times.
  • the number of times of communications between the first terminal and the second terminal may denote interestingness between the first user and the second user, and if the number of times of communications is more, it denotes that interest of the first user and the second user in the other party is larger. Therefore, the server pushes user data actively according to the number of times of communications between the first terminal and the second terminal, that is, on the premise of ensuring intimacy between users, a user does not need to send a user data request by using a terminal, thereby improving operation convenience.
  • an interface interacting element such as a button or menu, used to view the user data may be generated on the second terminal.
  • an interface interacting element such as a button or menu, used to view user data may be generated on the first terminal. That the first terminal initiates a viewing command is used as an example. The first terminal receives the viewing command by using the interface interacting element used to view user data, and displays received second user data corresponding to the second terminal according to the viewing command, so as to be read by the first user corresponding to the first terminal.
  • the instant messaging method further includes: sending, by the first terminal, an associating command to the server; and associating, by the server, the first user identifier corresponding to the first terminal and the second user identifier corresponding to the second terminal.
  • associating refers to that an associating relationship is established between the first user identifier and the second user identifier, such as, if the associating command is a friend adding command, a relationship established between the first user identifier and the second user identifier is a friend relationship.
  • an interface interacting element such as a button or menu, used to receive the associating command may be generated on the second terminal.
  • an interface interacting element such as a button or menu, used to receive the associating command may be generated on the first terminal.
  • the first terminal initiates the associating command is used as an example.
  • the first terminal receives the associating command by using an interface interacting element used to receive the associating command, the first terminal sends the associating command to the server, and then the server associates the first user identifier corresponding to the first terminal and the second user identifier corresponding to the second terminal, thereby establishing an associating relationship between the first user and the second user.
  • the server sends an associating success message to the first terminal.
  • the first terminal receives the associating success message, and may add a contact corresponding to the second user identifier to a contact list, and therefore the first user subsequently may directly view data of the second user by using the contact list, and then directly communicate with the second user without the need of performing an additional operation, thereby improving convenience of user operations.
  • the instant messaging method further includes: sending, by the first terminal, a user replacement command to the server; receiving, by the server, a user replacement command, and performing search, according to the scenario identifier, to obtain third communication data matching the first communication data; sending, by the server, the third communication data to the first terminal in an anonymity manner; and obtaining, by the server, a third user identifier corresponding to the third communication data, and sending the first communication data to a third terminal corresponding to the third user identifier in an anonymity manner.
  • User replacement refers to that another user is matched again for the first user, and therefore, the third communication data should be different from the second communication data.
  • the first user may replace, at any time, a user performing instant messaging with the first user.
  • An interface interacting element used to receive the user replacement command such as a button or menu, may be set on an instant messaging interface of the first terminal.
  • the first terminal receives the user replacement command of the first user by using the interface exchange element, and sends the user replacement command to the server, and the server obtains, by performing matching, the third communication data that is different from the second communication data and matches the first communication data, sends the third communication data to the first terminal in an anonymity manner, obtains the third user identifier, and sends the first communication data to the third terminal corresponding to the third user identifier in an anonymity manner, thereby implementing instant messaging between the first terminal and the third terminal.
  • the process about how the server finds the third communication data and how the server sends the third communication data in an anonymity manner is the same as the foregoing process about matching the second communication data and sending the second communication data in an anonymity manner in principle, and the process of instant messaging between the first terminal and the third terminal after the server sends the third communication data to the first terminal is also the same as the foregoing process of instant messaging between the first terminal and the second terminal in principle, which is not described herein again.
  • the first user may replace, at any time, the second user performing instant messaging with the first user, and does not need to communicate with the second user mandatorily, and therefore, flexibility of instant messaging is improved. Even if the first user replaces the second user performing instant messaging with the first user, the second user still cannot know data of the first user, thereby protecting user privacy.
  • an instant messaging system including:
  • a first terminal 302 configured to obtain a selected scenario, the scenario being corresponding to a unique scenario identifier; and send first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier;
  • a second terminal 304 configured to send first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier;
  • a server 306 configured to search, according to the corresponding scenario identifier carried in the first communication data, for the second communication data matching the first communication data, and determine whether the second communication data is found; if yes, send the second communication data to the first terminal in an anonymity manner, obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner; if no, perform filtering processing on the first communication data, and send first communication data obtained after the filtering processing to the first terminal in an anonymity manner.
  • the server 306 is further configured to perform search to obtain the second communication data, where the scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data.
  • the server 306 is further configured to obtain a data generating time corresponding to the first communication data.
  • the server 306 is further configured to search for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
  • the server 306 is further configured to perform voice filtering processing on the second communication data, and send second communication data obtained after the voice filtering processing to the first terminal, where the first communication data is first voice data, and the second communication data is second voice data.
  • the server 306 is further configured to obtain the number of times of communications between the first terminal 302 and the second terminal 304, and determine whether the number of times of communications is greater than a preset threshold.
  • the server 306 is further configured to push user data corresponding to the first user identifier to the second terminal 304, and push user data corresponding to the second user identifier to the first terminal 302.
  • the first terminal 302 is further configured to send an associating command to the server 306; and the server 306 is further configured to associate the first user identifier corresponding to the first terminal 302 and the second user identifier corresponding to the second terminal 304.
  • the instant messaging system further includes a third terminal 308, where the first terminal 302 is further configured to send a user replacement command to the server 306.
  • the server 306 is further configured to receive a user replacement command, and performing search, according to the scenario identifier, to obtain third communication data matching the first communication data; send the third communication data to the first terminal in an anonymity manner.
  • the server 306 is further configured to obtain a third user identifier corresponding to the third communication data, and send the first communication data to the third terminal 308 corresponding to the third user identifier in an anonymity manner.
  • the instant messaging systems shown in FIG. 3 and FIG. 4 are merely simplified systems for describing embodiments of the present invention, but it should be understood that, multiple terminals should interact with the server 306, while the first terminal 302 initiating instant messaging may be any one of these multiple terminals. Therefore, the number of terminals in the embodiments of the present invention is not limited to the numbers of terminals in the systems shown in FIG. 3 and FIG. 4.
  • an instant messaging method is further provided, and the method may be implemented in the server 11 shown in FIG. 1A and FIG. 1B.
  • the method includes:
  • Step 502 Receive first communication data sent by a first terminal, the first communication data carrying a corresponding scenario identifier and first user identifier.
  • the first user identifier is used to uniquely identify a first user corresponding to the first terminal, and may be any type of communication number having uniqueness, such as an instant messaging number, a mobile communication number, a social network account, a network address or the like.
  • the first terminal is corresponding to the first user identifier.
  • Scenario identifiers are used to identify different scenarios, the first user can select a scenario by using the first terminal, and the first terminal obtains a scenario identifier corresponding to the scenario selected by the first user.
  • Communication data may be text information data, voice data, video/audio data or a combination of various above data.
  • Step 504 Search, according to the scenario identifier, for second communication data matching the first communication data.
  • the server Whenever the server receives a piece of communication data, the server adds, according to a scenario identifier corresponding to the communication data, the communication data to a communication data set corresponding to the scenario identifier. For each piece of communication data, another communication data matching the communication data may be found in a communication data set corresponding to a scenario identifier.
  • the server searches, according to a scenario identifier carried in the first communication data, a communication data set corresponding to the scenario identifier for second communication data matching the first communication data. Further, the server may randomly find the second communication data in the communication data set corresponding to the scenario identifier, and may also perform search according to a rule, such as, based on a matching extent of location information in user data corresponding to user identifiers, or a matching extent of same user identifier keyword s.
  • Step 506 Determine whether the second communication data is found, and if yes, enter step 508, or otherwise enter step 510.
  • Step 508 Send the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner, obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner.
  • the server can establish instant messaging between the first terminal and the second terminal, and the server sends the second communication data to the first terminal in an anonymity manner, and sends the first communication data to the second terminal in an anonymity manner.
  • the anonymity manner refers to that the first terminal receiving the second communication data and the second terminal receiving the first communication data cannot view identity information of the other party, such as, individual data information.
  • the server can first process the first communication data, to hide the first user identifier.
  • the server before sending the second communication data to the first terminal, the server can first process the second communication data, to hide the second user identifier.
  • the server always performs such processing.
  • Step 510 Perform filtering processing on the first communication data, and send first communication data obtained after the filtering processing to the first terminal.
  • the server can invoke, according to the scenario identifier of the first communication data, a corresponding filtering processing program to perform corresponding filtering processing on the first communication data, and return the first communication data obtained after the filtering processing to the first terminal, thereby simulating the instant messaging scenario selected by the first user.
  • the server because the first communication data and the second communication data are obtained by the server by performing matching according to the scenario identifier of the first communication data, instant messaging is performed between the first terminal corresponding to the first user identifier and the second terminal corresponding to the second user identifier without the need of knowing data of the other party in advance, and during instant messaging, the server sends communication data in an anonymity manner, so as to ensure that user data is not leaked, thereby protecting user privacy.
  • the scenario identifier corresponding to the second communication data matching the first communication data is the same as the scenario identifier corresponding to the first communication data.
  • the scenario identifier of the second communication data obtained by the server by performing matching is the same as the scenario identifier of the first communication data, that is, the scenario selected by the first user by using the first terminal is the same as the scenario selected by the second user by using the second terminal. Therefore, the character, hobbies and interests of the second user corresponding to the second communication data matching the first communication data is more matched with those of the first user, thereby improving the matching extent of the two parties in instant messaging.
  • the provided instant messaging method further includes: obtaining a data generating time corresponding to the first communication data; and step 504 includes: searching for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
  • the data generating time may be the time at which the terminal records or sends communication data, and may also be the time at which the server receives communication data.
  • the server in addition to performing matching according to the scenario identifier, the server further performs matching with reference to the data generating time, and that the data generating time corresponding to the second communication data matches the data generating time corresponding to the first communication data may be that the data generating times are the same or a time difference between the data generating times is within a preset range.
  • the server searches for the matching second communication data according to the scenario identifier and the data generating time of the first communication data, and the probability that the second user of the second terminal corresponding to the second communication data is simultaneously online when the first user sends the first communication data by using the first terminal is increased, and therefore timeliness of instant messaging is ensured.
  • the server may further perform communication data matching based on locations at which the first terminal and the second terminal are located, such as, a distance between a location corresponding to the second communication data matching the first communication data and a location corresponding to the first communication data is within a preset range.
  • a piece of second communication data at the closest distance may be selected as the most matching second communication data, or a piece of second communication data may also be randomly selected as the most matching second communication data.
  • step 506 includes: performing voice filtering processing on the second communication data; and sending second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner, where the first communication data is first voice data, and the second communication data is second voice data.
  • the server may preset that different scenario identifiers are corresponding to different voice filtering processing programs, and therefore the server may invoke a corresponding voice filtering processing program according to the scenario identifier of the second communication data to perform corresponding voice filtering processing on the second communication data, and send second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner.
  • the server After finding the second communication data matching the first communication data, the server does no directly send the second communication data to the first terminal in an anonymity manner, and instead, performs corresponding voice filtering processing on the second communication data according to the scenario identifier; and sends second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner, so that the first user feels that the first user performs instant messaging with the second user in a scenario selected by the first user, thereby improving diversification of the instant messaging.
  • the provided instant messaging method further includes: obtaining the number of times of communications between the first terminal and the second terminal, and determining whether the number of times of communications is greater than a preset threshold; and if yes, pushing user data corresponding to the first user identifier to the second terminal, and pushing user data corresponding to the second user identifier to the first terminal.
  • the number of times of communications between the first terminal and the second terminal may be the number of times the first terminal receives the second voice data, or a total sum of the number of times the first terminal sends the first voice data and the number of times the first terminal receives the second voice data.
  • the threshold may be set in advance, such as, 10 times.
  • the number of times of communications between the first terminal and the second terminal may denote interestingness between the first user and the second user, and if the number of times of communications is more, it denotes that interest of the first user and the second user in the other party is larger. Therefore, the server pushes user data actively according to the number of times of communications between the first terminal and the second terminal, that is, on the premise of ensuring intimacy between users, a user does not need to send a user data request by using a terminal, thereby improving operation convenience.
  • an interface interacting element such as a button or menu, used to view the user data may be generated on the second terminal.
  • an interface interacting element such as a button or menu, used to view user data may be generated on the first terminal. That the first terminal initiates a viewing command is used as an example. The first terminal receives the viewing command by using the interface interacting element used to view user data, and displays received second user data corresponding to the second terminal according to the viewing command, so as to be read by the first user corresponding to the first terminal.
  • the provided instant messaging method further includes: receiving a user replacement command sent by the first terminal; performing search, according to the scenario identifier, to obtain third communication data matching the first communication data; and sending the third communication data to the first terminal in an anonymity manner.
  • User replacement refers to that another user is matched again for the first user, and therefore, the third communication data should be different from the second communication data.
  • the first user may replace, at any time, a user performing instant messaging with the first user.
  • An interface interacting element used to receive the user replacement command such as a button or menu, may be set on an instant messaging interface of the first terminal.
  • the first terminal receives the user replacement command of the first user by using the interface exchange element, and sends the user replacement command to the server, and the server obtains, by performing matching, the third communication data that is different from the second communication data and matches the first communication data, sends the third communication data to the first terminal, obtains the third user identifier, and sends the first communication data to the third terminal corresponding to the third user identifier, thereby implementing instant messaging between the first terminal and the third terminal.
  • the process about how the server finds the third communication data and how the server sends the third communication data in an anonymity manner is the same as the foregoing process about matching the second communication data and sending the second communication data in an anonymity manner in principle, and the process of instant messaging between the first terminal and the third terminal after the server sends the third communication data to the first terminal in an anonymity manner is also the same as the foregoing process of instant messaging between the first terminal and the second terminal in principle, which is not described herein again.
  • the first user may replace, at any time, the second user performing instant messaging with the first user, and does not need to communicate with the second user mandatorily, and therefore, flexibility of instant messaging is improved. Even if the first user replaces the second user performing instant messaging with the first user, the second user still cannot know data of the first user, thereby effectively protecting user privacy.
  • an instant messaging apparatus including:
  • a first obtaining module 602 configured to receive first communication data, and obtain a scenario identifier and a first user identifier corresponding to the first communication data;
  • a matching module 604 configured to search, according to the scenario identifier, for second communication data matching the first communication data;
  • a sending module 606 configured to: if the second communication data is found, send the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner; and obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner; and
  • a first filtering processing module 610 configured to: if the second communication data is not found, perform filtering processing on the first communication data.
  • the sending module 606 is further configured to send first communication data obtained after the filtering processing performed by the first filtering processing module to the first terminal in an anonymity manner.
  • the matching module 604 is further configured to perform search to obtain the second communication data, where the scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data.
  • the first obtaining module 602 is further configured to obtain a data generating time corresponding to the first communication data.
  • the matching module 604 is further configured to search for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
  • the apparatus further includes a second filtering processing module 608, and the second filtering processing module 608 is configured to perform voice filtering processing on the second communication data.
  • the sending module 606 is further configured to send second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner, where the first communication data is first voice data, and the second communication data is second voice data.
  • the provided instant messaging apparatus further includes:
  • a number-of-times-of-communications detecting module 612 configured to obtain the number of times of communications between the first terminal and the second terminal, and determine whether the number of times of communications is greater than a preset threshold
  • a user data pushing module 614 configured to: when the number of times of communications is greater than the preset threshold, push user data corresponding to the first user identifier to the second terminal, and push user data corresponding to the second user identifier to the first terminal.
  • the first obtaining module 602 is further configured to receive a user replacement command sent by the first terminal.
  • the matching module 604 is further configured to perform search, according to the scenario identifier, to obtain third communication data matching the first communication data.
  • the sending module 606 is further configured to send the third communication data to the first terminal in an anonymity manner.
  • an instant messaging terminal including:
  • a scenario selecting module 902 configured to obtain a selected scenario, the scenario being corresponding to a unique scenario identifier
  • a sending module 904 configured to send first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier;
  • a receiving module 906 configured to receive second communication data matching the first communication data in an anonymity manner, the second communication data being corresponding to a second user identifier, where a scenario identifier corresponding to the second communication data matches the scenario identifier corresponding to the first communication data.
  • the first communication data is communication data sent by the instant messaging terminal
  • the second communication data is communication data sent by another instant messaging terminal with which the instant messaging terminal performs instant messaging.
  • the first user identifier is used to uniquely identify the instant messaging terminal corresponding to the first communication data
  • the second user identifier is used to uniquely identify another instant messaging terminal corresponding to the second communication data
  • scenario identifiers are used to identify different scenarios.
  • Various scenarios are presented on the instant messaging terminal in a picture form, such as pictures denoting seasons such as spring, summer, autumn, and winter, or pictures denoting some specific places (such as a playground, and a supermarket) , or pictures denoting animals, and in this embodiment, specific content in a scenario picture is not limited. Further, after a scenario selected by a user is obtained, a scenario identifier having uniqueness corresponding to the scenario selected by the user may be obtained.
  • FIG. 10 is a schematic diagram of a scenario selecting interface occurring before an instant messaging terminal initiates instant messaging.
  • the scenario selecting interface may present a scenario provided by the instant messaging terminal, and a scenario in this embodiment is presented by means of a corresponding scenario picture.
  • switching between scenarios may be performed by sliding a scenario picture with a finger, and the currently selected scenario is a scenario corresponding to a scenario icon displayed at the center of the instant messaging terminal.
  • 1004 denotes that the currently selected scenario is a scenario 2
  • 1002 denotes a location at which the current scenario 2 is located.
  • an instant messaging terminal may send first communication data to a server, and the first communication data may be recorded by a user in real time, and may also be communication data stored in the instant messaging terminal in advance.
  • the user may record communication data by using a sound recording button 1102 of the instant messaging terminal.
  • the recording manner may be a manner such as click, double-click or continuous press.
  • a scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data.
  • FIG. 12 is a schematic diagram of an interface on which an instant messaging terminal and another the instant messaging terminal perform instant messaging.
  • the instant messaging terminal sends first communication data 1202 to a server, and receives second communication data 1204 obtained by the server by performing matching in an anonymity manner, and the instant messaging terminal may continue to send first communication data 1206 to the server, and then perform instant messaging with another instant messaging terminal corresponding to the second communication data.
  • the receiving the second communication data 1204 in an anonymity manner refers to that the server may process the second communication data 1204 sent to the instant messaging terminal, to hide a user identifier corresponding to the second communication data 1204, so that the instant messaging terminal receives the second communication data 1204, but cannot view identity information of a corresponding user.
  • the first communication data further carries a corresponding data generating time; and a scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matches the data generating time corresponding to the first communication data.
  • the data generating time may be the time at which the instant messaging terminal records or sends communication data, and may also be the time at which the server receives communication data. That the data generating times are matching may refer to that data generating times of communication data are the same, or a difference between data generating times is within a preset threshold.
  • the second communication data matching the first communication data may also be second communication data at the closest distance between locations corresponding to the two.
  • the receiving module 906 when having not received the second communication data, receives first communication data obtained after filtering processing. In this embodiment, when having not found the second communication data, the server performs filtering processing on the first communication data by using a filtering processing program corresponding to a scenario identifier. In this way, the receiving module 906 may receive second communication data obtained after filtering processing, thereby improving user experience.
  • the receiving module 906 is further configured to receive the second communication data obtained after voice filtering processing in an anonymity manner; and/or the receiving module 906 is further configured to: when the second communication data is not received, receive the first communication data obtained after voice filtering processing, where the first communication data is first voice data, and the second communication data is second voice data.
  • the receiving module 906 is further configured to: when the number of times the second communication data is received reaches a preset threshold, receive user data that is pushed by the server and is corresponding to the second user identifier.
  • the receiving module 906 may generate, in an interface, an interface interacting element for viewing the user data, such as a button or menu, and the instant messaging terminal may obtain a user data viewing command by using an interface exchange element, and present the user data in an instant messaging interface according to the command. As shown in FIG.
  • a data viewing button 1212 on the instant messaging interface is in a non-triggerable state (grayed)
  • the data viewing button 1212 is in a triggerable state (highlighted)
  • the instant messaging terminal may obtain the user data viewing command by using the triggerable data viewing button 1212.
  • an instant messaging terminal further includes: a progress displaying module 908, configured to generate, according to the number of times the receiving module 906 receives the second communication data, a communication progress corresponding to the second user identifier.
  • the instant messaging terminal may send first communication data 1202 to a server, receives second communication data 1204 obtained by the server by performing matching and sent by another instant messaging terminal, and then may continue to send first communication data 1206 to the server, to perform instant messaging with the another instant messaging terminal.
  • the progress displaying module 908 generates a communication progress corresponding to the second user identifier and displays the communication progress by using an outer stroke 1210 of the data viewing button 1212.
  • the outer stroke 1210 may be gradually filled as the number of times the instant messaging terminal receives the second communication data 1204 increases, and when the number of times the instant messaging terminal receives the second communication data reaches a preset threshold, the outer stroke 1210 is fully filled.
  • the outer stroke 1210 is filled according to the number of times the instant messaging terminal receives the second communication data, so that when the outer stroke 1210 is fully filled, it denotes that the number of times the instant messaging terminal receives the second communication data reaches the preset threshold, and therefore the data viewing button 1212 may change from the non-triggerable state (grayed) to the triggerable state (highlighted) , and thereby the instant messaging terminal may obtain the user data viewing command by using the data viewing button 1212, and then may obtain the user data corresponding to the second user identifier.
  • FIG. 12 only shows an instant messaging progress displaying manner of the instant messaging terminal, and the instant messaging progress displaying manner of the present disclosure may be changed according to an actual situation, and is not merely limited to this embodiment.
  • the sending module 904 is further configured to: when the number of times the receiving module 906 receives the second communication data reaches a preset threshold, obtain an associating command used to associate a second user identifier corresponding to the second communication data, and send the associating command to the server.
  • the instant messaging terminal further includes: a contact adding module 910, configured to: when an associating success message of the server is received, add a contact corresponding to the second user identifier to a contact list.
  • a contact adding module 910 configured to: when an associating success message of the server is received, add a contact corresponding to the second user identifier to a contact list.
  • the instant messaging terminal receives the associating success message, and may add a contact corresponding to the second user identifier to a contact list, and therefore the user subsequently may directly view user data corresponding to the second user identifier by using the contact list, and then directly communicate with the second user without the need of performing an additional operation, thereby improving convenience of user operations.
  • the sending module 904 is further configured to send a user replacement command to the server.
  • a user replacement button 1208 is in a triggerable state all the time, and the instant messaging terminal may obtain a user replacement command at any time by using the user replacement button 1208, and then send the user replacement command to the server.
  • FIG. 12 only shows a user replacement manner of the instant messaging terminal, and the user replacement manner of the present disclosure may be changed according to an actual situation, and is not merely limited to this embodiment.
  • the receiving module 906 is further configured to obtain the user replacement command used to replace the second user identifier; and/or the receiving module 906 is further configured to receive third communication data matching the first communication data in an anonymity manner, the third communication data being corresponding to a third user identifier, where a scenario identifier corresponding to the third user identifier matches the scenario identifier corresponding to the first user identifier.
  • User replacement refers to that a user matches another user again.
  • a user may replace, at any time, another user performing instant messaging with the user.
  • the instant messaging terminal may obtain the user replacement command by using the user replacement button 1208.
  • the process about instant messaging after the instant messaging terminal receives, in an anonymity manner, the third communication data obtained by the server by performing matching again is the same as the foregoing process in which the instant messaging terminal receives the second communication data in principle, which is not described herein again.
  • the program may be stored in a computer readable storage medium.
  • the program may include the procedures of the embodiments of the foregoing methods.
  • the storage medium may be a magnetic disk, an optical disc, read-only memory (ROM) , a random access memory (RAM) or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An instant messaging method, system, apparatus and terminal are disclosed, and the method includes: obtaining, by a first terminal, a selected scenario, the scenario being corresponding to a unique scenario identifier; sending, by the first terminal, first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier; searching, by the server according to the scenario identifier, for second communication data matching the first communication data, and determining whether the second communication data is found; if yes, sending the second communication data to the first terminal in an anonymity manner, obtaining a second user identifier corresponding to the second communication data, and sending the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner; and if no, performing filtering processing on the first communication data, and sending first communication data obtained after the filtering processing to the first terminal.

Description

INSTANT MESSAGING METHOD, INSTANT MESSAGING APPARATUS AND INSTANT MESSAGING TERMINAL
FIELD OF THE TECHNOLOGY
The present disclosure relates to the field of instant messaging, and in particular to an instant messaging method, an instant messaging apparatus and an instant messaging terminal.
BACKGROUND OF THE DISCLOSURE
With rapid development of communications technologies, user communication manners are not limited to making a call or sending a short message service message anymore, and various instant messaging tools have gradually become the widest manner of communications between users.
In a conventional instant messaging technology, a sending party actively sends information to a receiving party according to information of the receiving party such as an address or account, and after receiving the information of the sending party, the receiving party makes a reply according to the information of the sending party such as an address or account. However, in this conventional instant messaging method, because a user intends to communicate with another user on purpose, and in this "active" instant messaging manner, a user first needs to learn data of another user with which the user intends to perform instant messaging, it is easy to leak the user data.
SUMMARY
Based on this, it is necessary to provide an instant messaging method and system that can effectively protect user privacy.
An instant messaging method includes:
at a server having one or more processors and memory storing programs executed by the one or more processors:
receiving first communication data sent by a first terminal, the first communication data carrying a corresponding scenario identifier and first user identifier;
searching, according to the scenario identifier, for second communication data matching the first communication data;
determining whether the second communication data is found;
if yes, sending the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner, obtaining a second user identifier corresponding to the second communication data, and sending the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner; and
if no, performing filtering processing on the first communication data, and sending first communication data obtained after the filtering processing to the first terminal.
An instant messaging apparatus includes:
one or more processors;
memory; and
one or more program modules stored in the memory and executed by the one or more processors, the one or more program modules including:
a first obtaining module, configured to receive first communication data sent by a first terminal, the first communication data carrying a corresponding scenario identifier and first user identifier;
a matching module, configured to search, according to the scenario identifier, for second communication data matching the first communication data;
a sending module, configured to: if the second communication data is found, send the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner; and obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner; and
a first filtering processing module, configured to: if the second communication data is not found, perform filtering processing on the first communication data, where
the sending module is further configured to send first communication data obtained after the filtering processing performed by the first filtering processing module to the first terminal in an anonymity manner.
In the foregoing instant messaging method and apparatus, a server extracts a scenario identifier carried in first communication data sent by a first terminal, searches, according to the scenario identifier, for second communication data matching the first communication data, and sends the second communication data to the first terminal in an anonymity manner. The server performs  matching according to the scenario identifier of the communication data, a user of the first terminal and a user of a second terminal can perform instant messaging without the need of obtaining data of the other party in advance, and the server sends communication data in an anonymity manner, so that neither of the two parties performing instant messaging knows identity information of the other party, thereby effectively protecting user privacy.
Moreover, it is further necessary to provide an instant messaging method that can effectively protect user privacy, including:
at a terminal device having one or more processors and memory storing programs executed by the one or more processors:
obtaining a selected scenario, the scenario being corresponding to a unique scenario identifier;
sending first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier; and
receiving second communication data matching the first communication data in an anonymity manner, the second communication data being corresponding to a second user identifier,
where a scenario identifier corresponding to the second communication data matches the scenario identifier corresponding to the first communication data.
The foregoing instant messaging terminal obtains a scenario selected by a user, and receives, in an anonymity manner, second communication data obtained by performing matching according to a scenario identifier, so that during implementation of instant messaging, the instant messaging terminal does not know identity information of the other party, and may implement instant messaging in an anonymity manner, thereby effectively protecting user privacy relative to an "active" manner in conventional instant messaging technologies.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is a diagram of an implementation environment of an instant messaging method according to an embodiment of the present invention;
FIG. 1B is a diagram of a simplified implementation environment of an instant messaging method according to an embodiment of the present invention;
FIG. 2 is a schematic flowchart of an instant messaging method according to an embodiment;
FIG. 3 is a structural block diagram of an instant messaging system according to an embodiment;
FIG. 4 is a structural block diagram of an instant messaging system according to another embodiment;
FIG. 5 is a schematic flowchart of an instant messaging method according to an embodiment;
FIG. 6 is a structural block diagram of an instant messaging apparatus according to an embodiment;
FIG. 7 is a structural block diagram of an instant messaging apparatus according to another embodiment;
FIG. 8 is a structural block diagram of an instant messaging apparatus according to still another embodiment;
FIG. 9 is a structural block diagram of an instant messaging terminal according to an embodiment;
FIG. 10 is a schematic diagram of a scenario selecting interface of an instant messaging terminal according to an embodiment;
FIG. 11 is a schematic diagram of an interface of an instant messaging terminal according to an embodiment;
FIG. 12 is a schematic diagram of an interface of an instant messaging terminal according to an embodiment; and
FIG. 13 is a structural block diagram of an instant messaging terminal according to another embodiment.
DESCRIPTION OF EMBODIMENTS
To make objectives, technical solutions and advantages of the present disclosure more understandable and comprehensible, the present disclosure is further described in detail below with reference to accompanying drawings and embodiments. It should be understood that, specific embodiments described herein are merely used for explaining the present disclosure, but not used for limiting the present disclosure.
The method as disclosed as following may be implemented by any appropriate computing device having one or more processors and memory. The memory includes storage medium, which may further include memory modules, e.g., Read-Only Memory (ROM) , Random  Access Memory (RAM) , and flash memory modules, and mass storages, e.g., CD-ROM, U-disk, removable hard disk, etc, which are all non-transitory storage medium. The storage medium may be a non-transitory computer readable storage medium that stores computer programs for implementing various processes, when executed by the processors.
Referring to FIG. 1A, an instant messaging method provided in an embodiment of the present invention can be implemented in an application environment shown in FIG. 1A, and the application environment includes a server 11 and multiple terminals 12 communicating with the server 11. The terminals 12 include but are not limited to various smartphones, tablet computers, personal digital assistants, e-book readers, Moving Picture Experts Group Audio Layer III (MP3) or Moving Picture Experts Group Audio 5 Layer IV (MP4) players, POS terminals, in-car computers, laptop portable computers, desktop computers and the like that can implement instant messaging.
A "first terminal" and a "second terminal" mentioned in the embodiment of the present invention are used to distinguish two different terminals 12, where the first terminal may be any one of the terminals 12, that is, any one of the terminals 12 can initiate instant messaging.
To simplify description, an example in which the instant messaging method provided in the embodiment of the present invention is implemented in an application environment shown in FIG. 1B is used for description. The application environment includes a server 11, and a first terminal 120 and a second terminal 122 that communicate with the server 11, the first terminal 120 and the second terminal 122 implement instant messaging by interacting with the server 11, the first terminal 120 is corresponding to a first user identifier, and the second terminal 122 is corresponding to a second user identifier. In each embodiment of the present invention, an example in which the first terminal 120 initiates instant messaging is used for description. However, it can be understood that, the first terminal and the second terminal are only relative concepts, and the second terminal may also initiate instant messaging.
As shown in FIG. 2, in an embodiment, an instant messaging method is provided, including:
Step 202: A first terminal obtains a selected scenario, the scenario being corresponding to a unique scenario identifier.
Specifically, a scenario is presented on the first terminal in a picture form, each scenario is corresponding to a unique scenario identifier, and a user can select a corresponding picture, so that the first terminal obtains a scenario identifier corresponding to a scenario selected by the user.
Step 204: The first terminal sends first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier.
In this embodiment, the first user identifier is used to uniquely identify a first user corresponding to the first terminal, and may be any type of communication number having uniqueness, such as an instant messaging number, a mobile communication number, a social network account, a network address or the like. The first terminal is corresponding to the first user identifier. Scenario identifiers are used to identify different scenarios, the first user can select a scenario by using the first terminal, and the first terminal obtains a scenario identifier corresponding to the scenario selected by the first user. Communication data may be text information data, voice data, video/audio data and/or a combination of any above type of data.
Step 206: The server searches, according to the scenario identifier, for second communication data matching the first communication data.
Whenever the server receives a piece of communication data, the server adds, according to a scenario identifier corresponding to the communication data, the communication data to a communication data set corresponding to the scenario identifier. For each piece of communication data, another communication data matching the communication data may be found in a communication data set corresponding to a scenario identifier.
Specifically, after receiving the first communication data, the server searches, according to a scenario identifier carried in the first communication data, a communication data set corresponding to the scenario identifier for second communication data matching the first communication data. Further, the server may randomly find the second communication data in the communication data set corresponding to the scenario identifier, and may also perform search according to a rule, such as, based on a matching extent of location information in user data corresponding to user identifiers, or a matching extent of same user identifier keyword s.
Step 208: The server determines whether the second communication data is found, and if yes, enters step 210, or otherwise enters step 212.
Step 210: The server sends the second communication data to the first terminal in an anonymity manner, and the server obtains a second user identifier corresponding to the second communication data, and sends the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner.
In this embodiment, after finding the second communication data matching the first communication data, the server can establish instant messaging between the first terminal and the second terminal, and the server sends the second communication data to the first terminal in an  anonymity manner, and sends the first communication data to the second terminal in an anonymity manner. The anonymity manner refers to that the first terminal receiving the second communication data and the second terminal receiving the first communication data cannot view identity information of the other party, such as, individual data information. Specifically, before sending the first communication data to the second terminal, the server can first process the first communication data, to hide the first user identifier. Likewise, before sending the second communication data to the first terminal, the server can first process the second communication data, to hide the second user identifier. During subsequent anonymous instant messaging, the server always performs such processing.
Step 212: The server performs filtering processing on the first communication data, and sends first communication data obtained after the filtering processing to the first terminal.
If the server does not find the matching second user identifier according to the scenario identifier of the first communication data, the server can invoke, according to the scenario identifier of the first communication data, a corresponding filtering processing program to perform corresponding filtering processing on the first communication data, and return the first communication data obtained after the filtering processing to the first terminal, where the invoked filtering processing program can be corresponding to the scenario selected by the first user, and thereby the instant messaging scenario selected by the first user may be simulated.
In the foregoing instant messaging method, because the first communication data and the second communication data are obtained by the server by performing matching according to the scenario identifier of the first communication data, instant messaging is performed between the first terminal corresponding to the first user identifier and the second terminal corresponding to the second user identifier without the need of knowing data of the other party in advance, and during instant messaging, the server sends communication data in an anonymity manner, so as to ensure that user data is not leaked, thereby effectively protecting user privacy.
Preferably, in an embodiment, the scenario identifier corresponding to the second communication data matching the first communication data is the same as the scenario identifier corresponding to the first communication data.
In this embodiment, the scenario identifier of the second communication data obtained by the server by performing matching is the same as the scenario identifier of the first communication data, that is, the scenario selected by the first user by using the first terminal is the same as the scenario selected by the second user by using the second terminal. Therefore, the character, hobbies and interests of the second user corresponding to the second communication data  matching the first communication data is more matched with those of the first user, thereby improving the matching extent of the two parties in instant messaging.
In an embodiment, the instant messaging method further includes: obtaining, by the server, a data generating time corresponding to the first communication data. Step 204 includes: searching, by the server, for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
The data generating time may be the time at which the terminal records or sends communication data, and may also be the time at which the server receives communication data. In this embodiment, in addition to performing matching according to the scenario identifier, the server further performs matching with reference to the data generating time, and that the data generating time corresponding to the second communication data matches the data generating time corresponding to the first communication data may be that the data generating times are the same or a time difference between the data generating times is within a preset range.
In this embodiment, the server searches for the matching second communication data according to the scenario identifier and the data generating time of the first communication data, and the probability that the second user of the second terminal corresponding to the second communication data is simultaneously online when the first user sends the first communication data by using the first terminal is increased, and therefore timeliness of instant messaging is ensured.
In other embodiments, communication data matching may be further performed based on locations at which the first terminal and the second terminal are located, such as, a distance between a location corresponding to the second communication data matching the first communication data and a location corresponding to the first communication data is within a preset range. When multiple pieces of second communication data are obtained by performing matching, a piece of second communication data at the closest distance may be selected as the most matching second communication data, or a piece of second communication data may also be randomly selected as the most matching second communication data.
In an embodiment, step 206 includes: performing, by the server, voice filtering processing on the second communication data, and sending second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner, where the first communication data is first voice data, and the second communication data is second voice data. 
The server may preset that different scenario identifiers are corresponding to different voice filtering processing programs, and therefore the server may invoke a corresponding voice filtering processing program according to the scenario identifier of the second communication data to perform corresponding voice filtering processing on the second communication data, and send second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner.
After finding the second communication data matching the first communication data, the server does no directly send the second communication data to the first terminal, and instead, performs corresponding voice filtering processing on the second communication data (that is, second voice data) according to the scenario identifier, such as, if the corresponding scenario is a mountain, the corresponding voice filtering processing program may be a filtering processing program for simulating an echo; and sends second communication data obtained after the voice filtering processing to the first terminal, so that the first user feels that the first user performs instant messaging with the second user in a scenario selected by the first user, thereby improving diversification of the instant messaging.
In an embodiment, the instant messaging method further includes: obtaining, by the server, the number of times of communications between the first terminal and the second terminal, and determining whether the number of times of communications is greater than a preset threshold; and if yes, pushing, by the server, user data corresponding to the first user identifier to the second terminal, and pushing user data corresponding to the second user identifier to the first terminal.
The number of times of communications between the first terminal and the second terminal may be the number of times the first terminal receives the second voice data, or a total sum of the number of times the first terminal sends the first voice data and the number of times the first terminal receives the second voice data. The threshold may be set in advance, such as, 10 times.
The number of times of communications between the first terminal and the second terminal may denote interestingness between the first user and the second user, and if the number of times of communications is more, it denotes that interest of the first user and the second user in the other party is larger. Therefore, the server pushes user data actively according to the number of times of communications between the first terminal and the second terminal, that is, on the premise of ensuring intimacy between users, a user does not need to send a user data request by using a terminal, thereby improving operation convenience.
Further, after the server pushes the user data corresponding to the first communication data to the second terminal, an interface interacting element, such as a button or menu, used to view  the user data may be generated on the second terminal. Likewise, after the server pushes the user data corresponding to the second communication data to the first terminal, an interface interacting element, such as a button or menu, used to view user data may be generated on the first terminal. That the first terminal initiates a viewing command is used as an example. The first terminal receives the viewing command by using the interface interacting element used to view user data, and displays received second user data corresponding to the second terminal according to the viewing command, so as to be read by the first user corresponding to the first terminal.
Further, in an embodiment, the instant messaging method further includes: sending, by the first terminal, an associating command to the server; and associating, by the server, the first user identifier corresponding to the first terminal and the second user identifier corresponding to the second terminal.
In this embodiment, associating refers to that an associating relationship is established between the first user identifier and the second user identifier, such as, if the associating command is a friend adding command, a relationship established between the first user identifier and the second user identifier is a friend relationship. Specifically, after the server pushes the user data corresponding to the first user identifier to the second terminal, an interface interacting element, such as a button or menu, used to receive the associating command may be generated on the second terminal. Likewise, after the server pushes the user data corresponding to the second user identifier to the first terminal, an interface interacting element, such as a button or menu, used to receive the associating command may be generated on the first terminal. That the first terminal initiates the associating command is used as an example. The first terminal receives the associating command by using an interface interacting element used to receive the associating command, the first terminal sends the associating command to the server, and then the server associates the first user identifier corresponding to the first terminal and the second user identifier corresponding to the second terminal, thereby establishing an associating relationship between the first user and the second user.
Further, after associating the first user identifier corresponding to the first terminal and the second user identifier corresponding to the second terminal, the server sends an associating success message to the first terminal. The first terminal receives the associating success message, and may add a contact corresponding to the second user identifier to a contact list, and therefore the first user subsequently may directly view data of the second user by using the contact list, and then directly communicate with the second user without the need of performing an additional operation, thereby improving convenience of user operations.
In an embodiment, the instant messaging method further includes: sending, by the first terminal, a user replacement command to the server; receiving, by the server, a user replacement  command, and performing search, according to the scenario identifier, to obtain third communication data matching the first communication data; sending, by the server, the third communication data to the first terminal in an anonymity manner; and obtaining, by the server, a third user identifier corresponding to the third communication data, and sending the first communication data to a third terminal corresponding to the third user identifier in an anonymity manner.
User replacement refers to that another user is matched again for the first user, and therefore, the third communication data should be different from the second communication data. After the second user is matched for the first user corresponding to the first terminal, during instant messaging performed between the first terminal and the second terminal, the first user may replace, at any time, a user performing instant messaging with the first user. An interface interacting element used to receive the user replacement command, such as a button or menu, may be set on an instant messaging interface of the first terminal. The first terminal receives the user replacement command of the first user by using the interface exchange element, and sends the user replacement command to the server, and the server obtains, by performing matching, the third communication data that is different from the second communication data and matches the first communication data, sends the third communication data to the first terminal in an anonymity manner, obtains the third user identifier, and sends the first communication data to the third terminal corresponding to the third user identifier in an anonymity manner, thereby implementing instant messaging between the first terminal and the third terminal.
The process about how the server finds the third communication data and how the server sends the third communication data in an anonymity manner is the same as the foregoing process about matching the second communication data and sending the second communication data in an anonymity manner in principle, and the process of instant messaging between the first terminal and the third terminal after the server sends the third communication data to the first terminal is also the same as the foregoing process of instant messaging between the first terminal and the second terminal in principle, which is not described herein again.
During instant messaging, the first user may replace, at any time, the second user performing instant messaging with the first user, and does not need to communicate with the second user mandatorily, and therefore, flexibility of instant messaging is improved. Even if the first user replaces the second user performing instant messaging with the first user, the second user still cannot know data of the first user, thereby protecting user privacy.
As shown in FIG. 3, an instant messaging system is further provided, including:
first terminal 302, configured to obtain a selected scenario, the scenario being corresponding to a unique scenario identifier; and send first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier;
second terminal 304, configured to send first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier; and
server 306, configured to search, according to the corresponding scenario identifier carried in the first communication data, for the second communication data matching the first communication data, and determine whether the second communication data is found; if yes, send the second communication data to the first terminal in an anonymity manner, obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner; if no, perform filtering processing on the first communication data, and send first communication data obtained after the filtering processing to the first terminal in an anonymity manner.
In an embodiment, the server 306 is further configured to perform search to obtain the second communication data, where the scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data.
In an embodiment, the server 306 is further configured to obtain a data generating time corresponding to the first communication data.
The server 306 is further configured to search for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
In an embodiment, the server 306 is further configured to perform voice filtering processing on the second communication data, and send second communication data obtained after the voice filtering processing to the first terminal, where the first communication data is first voice data, and the second communication data is second voice data.
In an embodiment, the server 306 is further configured to obtain the number of times of communications between the first terminal 302 and the second terminal 304, and determine whether the number of times of communications is greater than a preset threshold.
When the number of times of communications is greater than the preset threshold, the server 306 is further configured to push user data corresponding to the first user identifier to the  second terminal 304, and push user data corresponding to the second user identifier to the first terminal 302.
In an embodiment, the first terminal 302 is further configured to send an associating command to the server 306; and the server 306 is further configured to associate the first user identifier corresponding to the first terminal 302 and the second user identifier corresponding to the second terminal 304.
As shown in FIG. 4, in an embodiment, the instant messaging system further includes a third terminal 308, where the first terminal 302 is further configured to send a user replacement command to the server 306.
The server 306 is further configured to receive a user replacement command, and performing search, according to the scenario identifier, to obtain third communication data matching the first communication data; send the third communication data to the first terminal in an anonymity manner.
The server 306 is further configured to obtain a third user identifier corresponding to the third communication data, and send the first communication data to the third terminal 308 corresponding to the third user identifier in an anonymity manner.
It should be noted that, the instant messaging systems shown in FIG. 3 and FIG. 4 are merely simplified systems for describing embodiments of the present invention, but it should be understood that, multiple terminals should interact with the server 306, while the first terminal 302 initiating instant messaging may be any one of these multiple terminals. Therefore, the number of terminals in the embodiments of the present invention is not limited to the numbers of terminals in the systems shown in FIG. 3 and FIG. 4.
As shown in FIG. 5, in an embodiment, an instant messaging method is further provided, and the method may be implemented in the server 11 shown in FIG. 1A and FIG. 1B. The method includes:
Step 502: Receive first communication data sent by a first terminal, the first communication data carrying a corresponding scenario identifier and first user identifier.
In this embodiment, the first user identifier is used to uniquely identify a first user corresponding to the first terminal, and may be any type of communication number having uniqueness, such as an instant messaging number, a mobile communication number, a social network account, a network address or the like. The first terminal is corresponding to the first user identifier. Scenario identifiers are used to identify different scenarios, the first user can select a scenario by using the first terminal, and the first terminal obtains a scenario identifier corresponding to the  scenario selected by the first user. Communication data may be text information data, voice data, video/audio data or a combination of various above data.
Step 504: Search, according to the scenario identifier, for second communication data matching the first communication data.
Whenever the server receives a piece of communication data, the server adds, according to a scenario identifier corresponding to the communication data, the communication data to a communication data set corresponding to the scenario identifier. For each piece of communication data, another communication data matching the communication data may be found in a communication data set corresponding to a scenario identifier.
Specifically, after receiving the first communication data, the server searches, according to a scenario identifier carried in the first communication data, a communication data set corresponding to the scenario identifier for second communication data matching the first communication data. Further, the server may randomly find the second communication data in the communication data set corresponding to the scenario identifier, and may also perform search according to a rule, such as, based on a matching extent of location information in user data corresponding to user identifiers, or a matching extent of same user identifier keyword s.
Step 506: Determine whether the second communication data is found, and if yes, enter step 508, or otherwise enter step 510.
Step 508: Send the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner, obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner.
In this embodiment, after finding the second communication data matching the first communication data, the server can establish instant messaging between the first terminal and the second terminal, and the server sends the second communication data to the first terminal in an anonymity manner, and sends the first communication data to the second terminal in an anonymity manner. The anonymity manner refers to that the first terminal receiving the second communication data and the second terminal receiving the first communication data cannot view identity information of the other party, such as, individual data information. Specifically, before sending the first communication data to the second terminal, the server can first process the first communication data, to hide the first user identifier. Likewise, before sending the second communication data to the first terminal, the server can first process the second communication data, to hide the second user  identifier. During subsequent anonymous instant messaging, the server always performs such processing.
Step 510: Perform filtering processing on the first communication data, and send first communication data obtained after the filtering processing to the first terminal.
Further, if the server does not find the matching second user identifier according to the scenario identifier of the first communication data, the server can invoke, according to the scenario identifier of the first communication data, a corresponding filtering processing program to perform corresponding filtering processing on the first communication data, and return the first communication data obtained after the filtering processing to the first terminal, thereby simulating the instant messaging scenario selected by the first user.
In the foregoing instant messaging method, because the first communication data and the second communication data are obtained by the server by performing matching according to the scenario identifier of the first communication data, instant messaging is performed between the first terminal corresponding to the first user identifier and the second terminal corresponding to the second user identifier without the need of knowing data of the other party in advance, and during instant messaging, the server sends communication data in an anonymity manner, so as to ensure that user data is not leaked, thereby protecting user privacy.
Preferably, in an embodiment, the scenario identifier corresponding to the second communication data matching the first communication data is the same as the scenario identifier corresponding to the first communication data.
In this embodiment, the scenario identifier of the second communication data obtained by the server by performing matching is the same as the scenario identifier of the first communication data, that is, the scenario selected by the first user by using the first terminal is the same as the scenario selected by the second user by using the second terminal. Therefore, the character, hobbies and interests of the second user corresponding to the second communication data matching the first communication data is more matched with those of the first user, thereby improving the matching extent of the two parties in instant messaging.
In an embodiment, the provided instant messaging method further includes: obtaining a data generating time corresponding to the first communication data; and step 504 includes: searching for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
The data generating time may be the time at which the terminal records or sends communication data, and may also be the time at which the server receives communication data. In this embodiment, in addition to performing matching according to the scenario identifier, the server further performs matching with reference to the data generating time, and that the data generating time corresponding to the second communication data matches the data generating time corresponding to the first communication data may be that the data generating times are the same or a time difference between the data generating times is within a preset range.
In this embodiment, the server searches for the matching second communication data according to the scenario identifier and the data generating time of the first communication data, and the probability that the second user of the second terminal corresponding to the second communication data is simultaneously online when the first user sends the first communication data by using the first terminal is increased, and therefore timeliness of instant messaging is ensured.
In other embodiments, the server may further perform communication data matching based on locations at which the first terminal and the second terminal are located, such as, a distance between a location corresponding to the second communication data matching the first communication data and a location corresponding to the first communication data is within a preset range. When multiple pieces of second communication data are obtained by performing matching, a piece of second communication data at the closest distance may be selected as the most matching second communication data, or a piece of second communication data may also be randomly selected as the most matching second communication data.
In an embodiment, step 506 includes: performing voice filtering processing on the second communication data; and sending second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner, where the first communication data is first voice data, and the second communication data is second voice data.
The server may preset that different scenario identifiers are corresponding to different voice filtering processing programs, and therefore the server may invoke a corresponding voice filtering processing program according to the scenario identifier of the second communication data to perform corresponding voice filtering processing on the second communication data, and send second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner.
After finding the second communication data matching the first communication data, the server does no directly send the second communication data to the first terminal in an anonymity manner, and instead, performs corresponding voice filtering processing on the second  communication data according to the scenario identifier; and sends second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner, so that the first user feels that the first user performs instant messaging with the second user in a scenario selected by the first user, thereby improving diversification of the instant messaging.
In an embodiment, the provided instant messaging method further includes: obtaining the number of times of communications between the first terminal and the second terminal, and determining whether the number of times of communications is greater than a preset threshold; and if yes, pushing user data corresponding to the first user identifier to the second terminal, and pushing user data corresponding to the second user identifier to the first terminal.
The number of times of communications between the first terminal and the second terminal may be the number of times the first terminal receives the second voice data, or a total sum of the number of times the first terminal sends the first voice data and the number of times the first terminal receives the second voice data. The threshold may be set in advance, such as, 10 times.
The number of times of communications between the first terminal and the second terminal may denote interestingness between the first user and the second user, and if the number of times of communications is more, it denotes that interest of the first user and the second user in the other party is larger. Therefore, the server pushes user data actively according to the number of times of communications between the first terminal and the second terminal, that is, on the premise of ensuring intimacy between users, a user does not need to send a user data request by using a terminal, thereby improving operation convenience.
Further, after the server pushes the user data corresponding to the first communication data to the second terminal, an interface interacting element, such as a button or menu, used to view the user data may be generated on the second terminal. Likewise, after the server pushes the user data corresponding to the second communication data to the first terminal, an interface interacting element, such as a button or menu, used to view user data may be generated on the first terminal. That the first terminal initiates a viewing command is used as an example. The first terminal receives the viewing command by using the interface interacting element used to view user data, and displays received second user data corresponding to the second terminal according to the viewing command, so as to be read by the first user corresponding to the first terminal.
In an embodiment, the provided instant messaging method further includes: receiving a user replacement command sent by the first terminal; performing search, according to the scenario identifier, to obtain third communication data matching the first communication data; and sending the third communication data to the first terminal in an anonymity manner.
User replacement refers to that another user is matched again for the first user, and therefore, the third communication data should be different from the second communication data. After the second user is matched for the first user corresponding to the first terminal, during instant messaging performed between the first terminal and the second terminal, the first user may replace, at any time, a user performing instant messaging with the first user. An interface interacting element used to receive the user replacement command, such as a button or menu, may be set on an instant messaging interface of the first terminal. The first terminal receives the user replacement command of the first user by using the interface exchange element, and sends the user replacement command to the server, and the server obtains, by performing matching, the third communication data that is different from the second communication data and matches the first communication data, sends the third communication data to the first terminal, obtains the third user identifier, and sends the first communication data to the third terminal corresponding to the third user identifier, thereby implementing instant messaging between the first terminal and the third terminal.
The process about how the server finds the third communication data and how the server sends the third communication data in an anonymity manner is the same as the foregoing process about matching the second communication data and sending the second communication data in an anonymity manner in principle, and the process of instant messaging between the first terminal and the third terminal after the server sends the third communication data to the first terminal in an anonymity manner is also the same as the foregoing process of instant messaging between the first terminal and the second terminal in principle, which is not described herein again.
During instant messaging, the first user may replace, at any time, the second user performing instant messaging with the first user, and does not need to communicate with the second user mandatorily, and therefore, flexibility of instant messaging is improved. Even if the first user replaces the second user performing instant messaging with the first user, the second user still cannot know data of the first user, thereby effectively protecting user privacy.
As shown in FIG. 6, in an embodiment, an instant messaging apparatus is further provided, including:
a first obtaining module 602, configured to receive first communication data, and obtain a scenario identifier and a first user identifier corresponding to the first communication data;
matching module 604, configured to search, according to the scenario identifier, for second communication data matching the first communication data;
a sending module 606, configured to: if the second communication data is found, send the second communication data to the first terminal corresponding to the first user identifier in an  anonymity manner; and obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner; and
a first filtering processing module 610, configured to: if the second communication data is not found, perform filtering processing on the first communication data.
The sending module 606 is further configured to send first communication data obtained after the filtering processing performed by the first filtering processing module to the first terminal in an anonymity manner.
In an embodiment, the matching module 604 is further configured to perform search to obtain the second communication data, where the scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data.
In an embodiment, the first obtaining module 602 is further configured to obtain a data generating time corresponding to the first communication data.
The matching module 604 is further configured to search for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
As shown in FIG. 7, in an embodiment, the apparatus further includes a second filtering processing module 608, and the second filtering processing module 608 is configured to perform voice filtering processing on the second communication data.
The sending module 606 is further configured to send second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner, where the first communication data is first voice data, and the second communication data is second voice data.
As shown in FIG. 8, in an embodiment, the provided instant messaging apparatus further includes:
a number-of-times-of-communications detecting module 612, configured to obtain the number of times of communications between the first terminal and the second terminal, and determine whether the number of times of communications is greater than a preset threshold; and
a user data pushing module 614, configured to: when the number of times of communications is greater than the preset threshold, push user data corresponding to the first user  identifier to the second terminal, and push user data corresponding to the second user identifier to the first terminal.
In an embodiment, the first obtaining module 602 is further configured to receive a user replacement command sent by the first terminal.
The matching module 604 is further configured to perform search, according to the scenario identifier, to obtain third communication data matching the first communication data.
The sending module 606 is further configured to send the third communication data to the first terminal in an anonymity manner.
As shown in FIG. 9, in an embodiment, an instant messaging terminal is further provided, including:
scenario selecting module 902, configured to obtain a selected scenario, the scenario being corresponding to a unique scenario identifier;
a sending module 904, configured to send first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier; and
receiving module 906, configured to receive second communication data matching the first communication data in an anonymity manner, the second communication data being corresponding to a second user identifier, where a scenario identifier corresponding to the second communication data matches the scenario identifier corresponding to the first communication data.
In this embodiment, the first communication data is communication data sent by the instant messaging terminal, and the second communication data is communication data sent by another instant messaging terminal with which the instant messaging terminal performs instant messaging. The first user identifier is used to uniquely identify the instant messaging terminal corresponding to the first communication data, the second user identifier is used to uniquely identify another instant messaging terminal corresponding to the second communication data, and scenario identifiers are used to identify different scenarios. Various scenarios are presented on the instant messaging terminal in a picture form, such as pictures denoting seasons such as spring, summer, autumn, and winter, or pictures denoting some specific places (such as a playground, and a supermarket) , or pictures denoting animals, and in this embodiment, specific content in a scenario picture is not limited. Further, after a scenario selected by a user is obtained, a scenario identifier having uniqueness corresponding to the scenario selected by the user may be obtained.
With reference to FIG. 10, FIG. 10 is a schematic diagram of a scenario selecting interface occurring before an instant messaging terminal initiates instant messaging. The scenario  selecting interface may present a scenario provided by the instant messaging terminal, and a scenario in this embodiment is presented by means of a corresponding scenario picture. As shown in FIG. 10, switching between scenarios may be performed by sliding a scenario picture with a finger, and the currently selected scenario is a scenario corresponding to a scenario icon displayed at the center of the instant messaging terminal. As shown in FIG. 10, 1004 denotes that the currently selected scenario is a  scenario  2, and 1002 denotes a location at which the current scenario 2 is located.
Further, as shown in FIG. 11, an instant messaging terminal may send first communication data to a server, and the first communication data may be recorded by a user in real time, and may also be communication data stored in the instant messaging terminal in advance. For example, as shown in FIG. 11, the user may record communication data by using a sound recording button 1102 of the instant messaging terminal. The recording manner may be a manner such as click, double-click or continuous press.
As a preferable embodiment, a scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data.
Further, with reference to FIG. 12, FIG. 12 is a schematic diagram of an interface on which an instant messaging terminal and another the instant messaging terminal perform instant messaging. As shown in FIG. 12, the instant messaging terminal sends first communication data 1202 to a server, and receives second communication data 1204 obtained by the server by performing matching in an anonymity manner, and the instant messaging terminal may continue to send first communication data 1206 to the server, and then perform instant messaging with another instant messaging terminal corresponding to the second communication data. In this embodiment, the receiving the second communication data 1204 in an anonymity manner refers to that the server may process the second communication data 1204 sent to the instant messaging terminal, to hide a user identifier corresponding to the second communication data 1204, so that the instant messaging terminal receives the second communication data 1204, but cannot view identity information of a corresponding user.
In an embodiment, the first communication data further carries a corresponding data generating time; and a scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matches the data generating time corresponding to the first communication data.
Specifically, the data generating time may be the time at which the instant messaging terminal records or sends communication data, and may also be the time at which the server receives communication data. That the data generating times are matching may refer to that data generating times of communication data are the same, or a difference between data generating times is within a preset threshold.
In other embodiments, the second communication data matching the first communication data may also be second communication data at the closest distance between locations corresponding to the two.
Further, in an embodiment, when having not received the second communication data, the receiving module 906 receives first communication data obtained after filtering processing. In this embodiment, when having not found the second communication data, the server performs filtering processing on the first communication data by using a filtering processing program corresponding to a scenario identifier. In this way, the receiving module 906 may receive second communication data obtained after filtering processing, thereby improving user experience.
In an embodiment, the receiving module 906 is further configured to receive the second communication data obtained after voice filtering processing in an anonymity manner; and/or the receiving module 906 is further configured to: when the second communication data is not received, receive the first communication data obtained after voice filtering processing, where the first communication data is first voice data, and the second communication data is second voice data.
In an embodiment, the receiving module 906 is further configured to: when the number of times the second communication data is received reaches a preset threshold, receive user data that is pushed by the server and is corresponding to the second user identifier.
Specifically, after receiving user data corresponding to the second user identifier pushed by the server, the receiving module 906 may generate, in an interface, an interface interacting element for viewing the user data, such as a button or menu, and the instant messaging terminal may obtain a user data viewing command by using an interface exchange element, and present the user data in an instant messaging interface according to the command. As shown in FIG. 12, for example, before the number of times the instant messaging terminal receives the second communication data reaches a preset threshold, a data viewing button 1212 on the instant messaging interface is in a non-triggerable state (grayed) , while after the number of times the instant messaging terminal receives the second communication data reaches the preset threshold and the instant messaging terminal receives the user data corresponding to the second user identifier pushed by the server, the data viewing  button 1212 is in a triggerable state (highlighted) , and the instant messaging terminal may obtain the user data viewing command by using the triggerable data viewing button 1212.
As shown in FIG. 13, in an embodiment, an instant messaging terminal further includes: a progress displaying module 908, configured to generate, according to the number of times the receiving module 906 receives the second communication data, a communication progress corresponding to the second user identifier.
With reference to FIG. 12, the instant messaging terminal may send first communication data 1202 to a server, receives second communication data 1204 obtained by the server by performing matching and sent by another instant messaging terminal, and then may continue to send first communication data 1206 to the server, to perform instant messaging with the another instant messaging terminal. Each time the instant messaging terminal receives the second communication data 1204, the progress displaying module 908 generates a communication progress corresponding to the second user identifier and displays the communication progress by using an outer stroke 1210 of the data viewing button 1212. For example, as shown in FIG. 12, the outer stroke 1210 may be gradually filled as the number of times the instant messaging terminal receives the second communication data 1204 increases, and when the number of times the instant messaging terminal receives the second communication data reaches a preset threshold, the outer stroke 1210 is fully filled.
The outer stroke 1210 is filled according to the number of times the instant messaging terminal receives the second communication data, so that when the outer stroke 1210 is fully filled, it denotes that the number of times the instant messaging terminal receives the second communication data reaches the preset threshold, and therefore the data viewing button 1212 may change from the non-triggerable state (grayed) to the triggerable state (highlighted) , and thereby the instant messaging terminal may obtain the user data viewing command by using the data viewing button 1212, and then may obtain the user data corresponding to the second user identifier.
It can be understood that, FIG. 12 only shows an instant messaging progress displaying manner of the instant messaging terminal, and the instant messaging progress displaying manner of the present disclosure may be changed according to an actual situation, and is not merely limited to this embodiment.
Further, in an embodiment, the sending module 904 is further configured to: when the number of times the receiving module 906 receives the second communication data reaches a preset threshold, obtain an associating command used to associate a second user identifier corresponding to the second communication data, and send the associating command to the server.
The instant messaging terminal further includes: a contact adding module 910, configured to: when an associating success message of the server is received, add a contact corresponding to the second user identifier to a contact list.
In this embodiment, the instant messaging terminal receives the associating success message, and may add a contact corresponding to the second user identifier to a contact list, and therefore the user subsequently may directly view user data corresponding to the second user identifier by using the contact list, and then directly communicate with the second user without the need of performing an additional operation, thereby improving convenience of user operations.
In an embodiment, the sending module 904 is further configured to send a user replacement command to the server. In this embodiment, as shown in FIG. 12, during instant messaging, a user replacement button 1208 is in a triggerable state all the time, and the instant messaging terminal may obtain a user replacement command at any time by using the user replacement button 1208, and then send the user replacement command to the server.
It can be understood that, FIG. 12 only shows a user replacement manner of the instant messaging terminal, and the user replacement manner of the present disclosure may be changed according to an actual situation, and is not merely limited to this embodiment.
The receiving module 906 is further configured to obtain the user replacement command used to replace the second user identifier; and/or the receiving module 906 is further configured to receive third communication data matching the first communication data in an anonymity manner, the third communication data being corresponding to a third user identifier, where a scenario identifier corresponding to the third user identifier matches the scenario identifier corresponding to the first user identifier.
User replacement refers to that a user matches another user again. In the process in which the instant messaging terminal and another instant messaging terminal perform instant messaging, a user may replace, at any time, another user performing instant messaging with the user. With reference to FIG. 12, the instant messaging terminal may obtain the user replacement command by using the user replacement button 1208. The process about instant messaging after the instant messaging terminal receives, in an anonymity manner, the third communication data obtained by the server by performing matching again is the same as the foregoing process in which the instant messaging terminal receives the second communication data in principle, which is not described herein again.
A person of ordinary skill in the art may understand that all or some of the procedures of the methods of the foregoing embodiments may be implemented by a computer program  instructing relevant hardware. The program may be stored in a computer readable storage medium. When the program is executed, the program may include the procedures of the embodiments of the foregoing methods. The storage medium may be a magnetic disk, an optical disc, read-only memory (ROM) , a random access memory (RAM) or the like.
The above embodiments only express several implementation manners of the present disclosure, which are described specifically and in detail, and therefore cannot be construed as a limitation to the patent scope of the present disclosure. It should be noted that, a person of ordinary skill in the art may make several deformations and improvements without departing from the idea of the present disclosure. All such deformations and improvements fall within the protection scope of the present disclosure. Therefore, the patent protection scope of the present disclosure shall be subject to the appended claims.

Claims (19)

  1. An instant messaging method, comprising:
    at a server having one or more processors and memory storing programs executed by the one or more processors:
    receiving first communication data sent by a first terminal, the first communication data carrying a corresponding scenario identifier and first user identifier;
    searching, according to the scenario identifier, for second communication data matching the first communication data;
    determining whether the second communication data is found;
    if yes, sending the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner, obtaining a second user identifier corresponding to the second communication data, and sending the first communication data to a second terminal corresponding to the second user identifier in an anonymity manner; and
    if no, performing filtering processing on the first communication data, and sending first communication data obtained after the filtering processing to the first terminal.
  2. The method according to claim 1, further comprising:
    obtaining a data generating time corresponding to the first communication data; and
    the step of searching, according to the scenario identifier, for second communication data matching the first communication data comprises:
    searching for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
  3. The method according to claim 1, wherein the step of sending the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner comprises:
    performing voice filtering processing on the second communication data; and
    sending second communication data obtained after the voice filtering processing to the first terminal in an anonymity manner,
    wherein the first communication data is first voice data, and the second communication data is second voice data.
  4. The method according to claim 1, further comprising:
    obtaining the number of times of communications between the first terminal and the second terminal; and
    determining whether the number of times of communications is greater than a preset threshold; and if yes, pushing user data corresponding to the first user identifier to the second terminal, and pushing user data corresponding to the second user identifier to the first terminal.
  5. The method according to claim 1, wherein after the step of sending the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner, the method further comprises:
    receiving a user replacement command sent by the first terminal;
    performing search, according to the scenario identifier, to obtain third communication data matching the first communication data; and
    sending the third communication data to the first terminal in an anonymity manner.
  6. The method according to claim 5, further comprising:
    obtaining a third user identifier corresponding to the third communication data, and sending the first communication data to a third terminal corresponding to the third user identifier in an anonymity manner.
  7. An instant messaging apparatus, comprising:
    one or more processors;
    memory; and
    one or more program modules stored in the memory and executed by the one or more processors, the one or more program modules comprising:
    a first obtaining module, configured to receive first communication data sent by a first terminal, the first communication data carrying a corresponding scenario identifier and first user identifier;
    a matching module, configured to search, according to the scenario identifier, for second communication data matching the first communication data;
    a sending module, configured to: if the second communication data is found, send the second communication data to the first terminal corresponding to the first user identifier in an anonymity manner; and obtain a second user identifier corresponding to the second communication data, and send the first communication data to a second terminal corresponding to the second user identifier in  an anonymity manner; and
    a first filtering processing module, configured to: if the second communication data is not found, perform filtering processing on the first communication data, wherein
    the sending module is further configured to send first communication data obtained after the filtering processing performed by the first filtering processing module to the first terminal in an anonymity manner.
  8.  The apparatus according to claim 7, wherein the first obtaining module is further configured to obtain a data generating time corresponding to the first communication data; and
    the matching module is further configured to search for the second communication data, a scenario identifier corresponding to the second communication data being the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matching the data generating time corresponding to the first communication data.
  9. The apparatus according to claim 7, further comprising:
    a second filtering processing module, configured to perform voice filtering processing on the second communication data, wherein
    the sending module is further configured to send second communication data obtained after the voice filtering processing performed by the second filtering processing module to the first terminal in an anonymity manner,
    wherein the first communication data is first voice data, and the second communication data is second voice data.
  10. The apparatus according to claim 7, further comprising:
    a number-of-times-of-communications detecting module, configured to obtain the number of times of communications between the first terminal and the second terminal, and determine whether the number of times of communications is greater than a preset threshold; and
    a user data pushing module, configured to: when the number of times of communications is greater than the preset threshold, push user data corresponding to the first user identifier to the second terminal, and push user data corresponding to the second user identifier to the first terminal.
  11. The apparatus according to claim 7, wherein the first obtaining module is further configured to receive a user replacement command sent by the first terminal;
    the matching module is further configured to perform search, according to the scenario  identifier, to obtain third communication data matching the first communication data; and
    the sending module is further configured to send the third communication data to the first terminal in an anonymity manner.
  12. An instant messaging method, comprising:
    at a terminal device having one or more processors and memory storing programs executed by the one or more processors:
    obtaining a selected scenario, the scenario being corresponding to a unique scenario identifier;
    sending first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier; and
    receiving second communication data matching the first communication data in an anonymity manner, the second communication data being corresponding to a second user identifier,
    wherein a scenario identifier corresponding to the second communication data matches the scenario identifier corresponding to the first communication data.
  13. The method according to claim 12, wherein the first communication data further carries a corresponding voice generating time; and
    a scenario identifier corresponding to the second communication data is the same as the scenario identifier corresponding to the first communication data, and a data generating time corresponding to the second communication data matches the data generating time corresponding to the first communication data.
  14. The method according to claim 12, further comprising:
    receiving the second communication data obtained after voice filtering processing in an anonymity manner; and/or
    when the second communication data is not received, receiving the first communication data obtained after voice filtering processing,
    wherein the first communication data is first voice data, and the second communication data is second voice data.
  15. The method according to claim 12, further comprising:
    when the number of times the second communication data is received reaches a preset threshold, receiving user data that is pushed by the server and is corresponding to the second user identifier.
  16. The method according to claim 12, further comprising:
    generating, according to the number of times the receiving module receives the second communication data, a communication progress corresponding to the second user identifier.
  17. The method according to claim 12, further comprising:
    when the number of times the second communication data is received reaches a preset threshold, obtaining an associating command used to associate a second user identifier corresponding to the second communication data, and sending the associating command to the server; and
    when an associating success message of the server is received, adding a contact corresponding to the second user identifier to a contact list.
  18. The method according to claim 12, further comprising:
    sending a user replacement command to the server; and
    receiving third communication data matching the first communication data in an anonymity manner, the third communication data being corresponding to a third user identifier,
    wherein a scenario identifier corresponding to the third user identifier matches the scenario identifier corresponding to the first user identifier.
  19. An instant messaging terminal, comprising:
    one or more processors;
    memory; and
    one or more program modules stored in the memory and executed by the one or more processors, the one or more program modules comprising:
    a scenario selecting module, configured to obtain a selected scenario, the scenario being corresponding to a unique scenario identifier;
    a sending module, configured to send first communication data to a server, the first communication data carrying a corresponding scenario identifier and first user identifier; and
    a receiving module, configured to receive second communication data matching the first communication data in an anonymity manner, the second communication data being corresponding to a second user identifier,
    wherein a scenario identifier corresponding to the second communication data matches the scenario identifier corresponding to the first communication data.
PCT/CN2015/074343 2014-03-19 2015-03-17 Instant messaging method, instant messaging apparatus and instant messaging terminal WO2015139598A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410103799.7 2014-03-19
CN201410103799.7A CN104935496B (en) 2014-03-19 2014-03-19 Instant communicating method, system, device and instant communication terminal

Publications (1)

Publication Number Publication Date
WO2015139598A1 true WO2015139598A1 (en) 2015-09-24

Family

ID=54122471

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/074343 WO2015139598A1 (en) 2014-03-19 2015-03-17 Instant messaging method, instant messaging apparatus and instant messaging terminal

Country Status (3)

Country Link
CN (1) CN104935496B (en)
MY (1) MY178185A (en)
WO (1) WO2015139598A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10341267B2 (en) * 2016-06-20 2019-07-02 Microsoft Technology Licensing, Llc Anonymized identifiers for secure communication systems
US10552863B1 (en) * 2016-11-16 2020-02-04 Amazon Technologies, Inc. Machine learning approach for causal effect estimation
CN110322377A (en) * 2019-06-28 2019-10-11 德普信(天津)软件技术有限责任公司 Teaching method and system based on virtual reality
CN110555631A (en) * 2019-09-11 2019-12-10 天津五八到家科技有限公司 Interaction method and device
CN110784676B (en) * 2019-10-28 2023-10-03 深圳传音控股股份有限公司 Data processing method, terminal device and computer readable storage medium
CN114765596B (en) * 2021-01-04 2023-12-01 腾讯科技(深圳)有限公司 Social relation construction method, device, server and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592474A (en) * 2003-08-27 2005-03-09 华为技术有限公司 Method for speech anonymous chat by cell phone
CN1972428A (en) * 2005-11-24 2007-05-30 中国电信股份有限公司 H.323-based video chat system and method
US20090055485A1 (en) * 2007-08-22 2009-02-26 Tu-Hsin Tsai Location based anonymous instant message exchange method and system
US20090164594A1 (en) * 2007-12-19 2009-06-25 Vmac, Llc Instant messaging market interface

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1286304C (en) * 2004-01-09 2006-11-22 北京讯通佳网网络技术有限公司 Method of realizing scene chat between customers in instant communication
CN100456751C (en) * 2005-03-19 2009-01-28 腾讯科技(深圳)有限公司 Instant communication method and system
US20070162553A1 (en) * 2006-01-10 2007-07-12 Dewing Shane R Interactive moderated voice chat system
CN101110795A (en) * 2007-08-20 2008-01-23 北京亿企通信息技术有限公司 Method for conversation in instant communication tools using label
CN101409730A (en) * 2008-11-22 2009-04-15 梁福鹏 Random network communication method based on requirement relation
CN101567885A (en) * 2009-05-19 2009-10-28 北京握奇数据系统有限公司 Voice call device as well as system and method thereof
CN102281207A (en) * 2010-06-11 2011-12-14 百度在线网络技术(北京)有限公司 Method for determining user matching degree and matching users chatting in social network and equipment thereof
CN102543066B (en) * 2011-11-18 2014-04-02 中国科学院声学研究所 Target voice privacy protection method and system
CN103136240A (en) * 2011-11-28 2013-06-05 曾海剑 Method and system of social contact matching in drift bottle mode based on positions
CN102594721B (en) * 2011-12-09 2013-09-18 腾讯科技(深圳)有限公司 Anonymous making-friends method, system and network server
CN103236965A (en) * 2013-03-26 2013-08-07 北京小米科技有限责任公司 Method, terminal and system for displaying scenes in instant chat interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592474A (en) * 2003-08-27 2005-03-09 华为技术有限公司 Method for speech anonymous chat by cell phone
CN1972428A (en) * 2005-11-24 2007-05-30 中国电信股份有限公司 H.323-based video chat system and method
US20090055485A1 (en) * 2007-08-22 2009-02-26 Tu-Hsin Tsai Location based anonymous instant message exchange method and system
US20090164594A1 (en) * 2007-12-19 2009-06-25 Vmac, Llc Instant messaging market interface

Also Published As

Publication number Publication date
MY178185A (en) 2020-10-06
CN104935496B (en) 2019-08-06
CN104935496A (en) 2015-09-23

Similar Documents

Publication Publication Date Title
US11250887B2 (en) Routing messages by message parameter
WO2015139598A1 (en) Instant messaging method, instant messaging apparatus and instant messaging terminal
EP2849411B1 (en) Session establishment methods and corresponding server
EP3713159B1 (en) Gallery of messages with a shared interest
KR101570406B1 (en) Method and apparatus for implementing user relationship in social network application
US9686645B2 (en) Location information sharing method and apparatus
US20190109835A1 (en) User authentication using unique hidden identifiers
EP3220347A1 (en) Sharing user information with proximate devices
CN110708663B (en) Bluetooth-based social contact method and device
WO2014101521A1 (en) Geographical location-based communication method, mobile terminal, server, and system
CN107147557B (en) Method and device for modifying session information
JP2017526995A (en) Dual channel identification and authentication
US20150371015A1 (en) Method for managing privacy and security in a social network by checking shared data and relationships between users
EP3200113A1 (en) Password protection question setting method and device
US20190362314A1 (en) Event processing method and apparatus
CN103970830A (en) Information recommendation method and device
WO2015106728A1 (en) Data processing method and system
CN106161575B (en) User matching method and device
US11221894B2 (en) Event execution method, device, and system
US8996613B2 (en) Automated activity creation in a mobile device business application
US10904301B2 (en) Conference system and method for handling conference connection thereof
TWI690190B (en) Communication method capable of managing privacy right with virtual account
US20150156144A1 (en) Methods and Systems for Social Messaging
US9705732B2 (en) Method and apparatus for sharing time information in an electronic device
US9301110B1 (en) Multimodal communication system and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15764040

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 23.02.2017)

122 Ep: pct application non-entry in european phase

Ref document number: 15764040

Country of ref document: EP

Kind code of ref document: A1