CN101296200B - System and method for establishing multi-user conversation - Google Patents

System and method for establishing multi-user conversation Download PDF

Info

Publication number
CN101296200B
CN101296200B CN2008101291437A CN200810129143A CN101296200B CN 101296200 B CN101296200 B CN 101296200B CN 2008101291437 A CN2008101291437 A CN 2008101291437A CN 200810129143 A CN200810129143 A CN 200810129143A CN 101296200 B CN101296200 B CN 101296200B
Authority
CN
China
Prior art keywords
user
discussion group
management module
group
main panel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008101291437A
Other languages
Chinese (zh)
Other versions
CN101296200A (en
Inventor
李建珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN2008101291437A priority Critical patent/CN101296200B/en
Publication of CN101296200A publication Critical patent/CN101296200A/en
Application granted granted Critical
Publication of CN101296200B publication Critical patent/CN101296200B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a system for establishing multiuser session, which comprises an instant message (IM) client used for completing the user pre-selection of a multiuser session discussion group according to the mouse action and/or the keyboard control operation of current users and starting the establishment of the discussion group. The invention also discloses a method for establishing the multiuser session, which comprises the steps that: the IM client completes the user pre-selection of the multiuser session discussion group according to the mouse action and/or the keyboard control operation of the current users and starts the establishment of the discussion group. The adoption of the system and the method of the invention can realize the fast and convenient establishment of the discussion group to meet the new requirements of the users and improve the experience of the users.

Description

System and method for creating multi-user session
Technical Field
The invention relates to a technology for creating a multi-user session, in particular to a system and a method for rapidly creating the multi-user session in a dragging mode after a user is selected by a main panel of an Instant Messaging (IM) tool in a multi-choice mode.
Background
The IM tool is developed today and accepted by most users, and as the time for users to use the IM tool increases, the needs of users are not limited to a single-to-single communication mode by using the IM tool, but the IM tool is required to provide a multi-user communication platform established by social groups with the same characteristics, so that the concept of groups/groups such as user groups and interest groups appears, and then the users can effectively and instantly communicate with other users belonging to the current group/group by using the multi-user communication platform provided by the IM tool. In addition, since users often own multiple types of groups/groups, such as high school classmates, colleagues, and so on. Therefore, in order to better meet the user's needs and enable the user to communicate with other users belonging to various types of groups, it is currently necessary for the IM tool to provide the following functions: the IM facility can provide for aggregating multiple users belonging to multiple types of groups/groups together to participate in a conversation discussion, i.e., there is a need for the IM facility to be able to create multi-user conversations belonging to different types of groups/groups. For simplicity of description, the concept of multi-user session discussion groups is introduced, below, instead of creating multi-user sessions belonging to different types of groups/groups, a multi-user session discussion group is created.
At present, the process of creating a multi-user session discussion group based on an IM tool is as follows: the creator must first find the operation entry in the main panel of the IM tool to create the multi-user conversation discussion group, and then open the user selection interface for establishing the multi-user chat shown in fig. 1 through the operation entry in the main panel to create the multi-user conversation discussion group. Then, manually adding the contact person in the contact person list box on the left side into the selected contact person list box on the right side in a manual selection mode; or, the added selected contact is manually deleted in a manual selection mode. Thus, multiple users belonging to different types of groups/groups are selected in this manually selected manner and eventually displayed in the selected contacts list box on the right side in fig. 1. And completing the creation of the multi-user session discussion group after clicking the determination button in fig. 1, and obtaining a session interface of the multi-user session discussion group as shown in fig. 2. In fig. 2, the users in the participant list are the users participating in the session in the multi-user session discussion group. Here, the created multi-user session discussion group is divided into a general discussion group and an intra-group discussion group, the general discussion group can only be composed of users having a friend relationship with the creator, and the intra-group discussion group must be composed of users belonging to the same group as the creator.
The defects of the prior art are as follows: first, the location of the operator access on the main panel of the IM tool is too hidden for the user to find the operator access. Secondly, even if the operation entry is found, after a user selection interface for establishing the multi-user chat is opened through the operation entry, the user needs to perform multiple manual adding operations or deleting operations to complete the selection of multiple users belonging to different types of groups/groups, and finally a multi-user session discussion group is established, which is complicated. In summary, the creation of the multi-user session discussion group in the prior art is realized by manual selection, which is inconvenient for user operation and does not meet the new requirement of the user for quickly and conveniently creating the multi-user session discussion group.
Disclosure of Invention
In view of this, the main objective of the present invention is to provide a system for creating a multi-user session, which can implement quick and convenient creation of a multi-user session discussion group to meet the new needs of users and improve the experience of users.
Another objective of the present invention is to provide a method for creating a multi-user session, which can implement quick and convenient creation of a multi-user session discussion group to meet new needs of users, and improve user experience.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
a system for creating multi-user session comprises an IM server and an IM client, wherein the IM client is used for finishing the pre-selection of users in a multi-user session discussion group according to the mouse operation and/or keyboard control operation of the current user and starting the creation of the discussion group; sending the preselected users to the IM server, negotiating with the IM server to determine the target users in the discussion group, and completing the creation of the discussion group; wherein the target users in the discussion group are a subset of the pre-selected users.
The IM client comprises a main panel management module, a user management module and a windows message management module; wherein,
the main panel management module is used for acquiring a corresponding user number list from the user management module through a current user account, and establishing a user array queue corresponding to a current user according to the user number list; calculating the position information of each user group object in the user group queue, and determining the position information as the position information of each corresponding preselected user; interacting with the windows message management module, and determining the preselected user according to the position information of the preselected user, the mouse operation of the current user and/or the keyboard control operation;
the user management module is used for storing and managing the related information of the user;
and the windows message management module is used for managing windows messages, interacting with the main panel management module and determining the preselected members according to the mouse operation and/or the keyboard control operation of the current user.
The main panel management module is further configured to register, receive and respond to different types of windows drag messages sent by the windows message management module; and starting the creation of the discussion group when the received windows dragging message is a left mouse button message released by the current user or the condition that the mouse operation of the current user exceeds the effective area of the main panel of the IM client is captured.
The main panel management module is further configured to establish a user number list in the discussion group based on the preselected user;
the IM client further comprises a discussion group management module used for acquiring a user number list in the discussion group from a main panel management module under the call of the main panel management module; and packaging the user number list in the discussion group and the current user account into a discussion group creating request, and sending the discussion group creating request to the IM server for verifying the upper limit of the number of the user.
A method of creating a multi-user session, the method comprising:
A. the IM client finishes the pre-selection of users in a multi-user session discussion group according to the mouse operation and/or keyboard control operation of the current user, and starts the creation of the discussion group;
B. the IM client sends the preselected users to an IM server, and negotiates with the IM server to determine the target users in the discussion group so as to complete the creation of the discussion group; wherein the target users in the discussion group are a subset of the pre-selected users.
In step a, the pre-selection of the user in the multi-user session discussion group by the IM client according to the mouse operation and/or the keyboard control operation of the current user is specifically:
a1, acquiring a corresponding user number list through a current user account by a main panel management module, and establishing a user array queue corresponding to the current user according to the user number list;
a2, the main panel management module calculates the position information of each user array object in the user array queue and determines the position information as the position information of each corresponding preselected user;
a3, interacting the main panel management module with the windows message management module, and determining the pre-selected user according to the position information of the pre-selected user, the mouse operation of the current user and/or the keyboard control operation.
Wherein, step A1 is followed by:
and the main panel management module sorts each user group object in the established user data queue according to the current user account and the obtained sorting information comprising the corresponding user display name, the corresponding user state and the corresponding user identity.
Wherein the attribute information of the user group object includes: the information of the current user account, the position information of the user corresponding to the current user, and the size information occupied by the user corresponding to the current user.
In step a2, the step of calculating, by the main panel management module, the position information of each user array object in the user array queue specifically includes:
the main panel management module acquires a first user group object in the ordered user group objects, and determines the position information of the user corresponding to the current user in the attribute information of the first user group object as the position information of the first user group object; and on the basis of the position information of the first user group object, sequentially accumulating the size information occupied by the user corresponding to the current user, and sequentially calculating the position information of other user group objects in the sequenced user group objects.
Wherein, the step A3 specifically comprises the following steps:
the main panel management module intercepts windows information from the windows information management module to capture mouse operation and/or keyboard operation of a current user, acquires position information of the mouse operation of the current user in a main panel of the IM client through windows mouse left key information under the condition that the keyboard operation is judged to be the keyboard control operation, traverses each user array object in the user array queue, and determines the user as the preselected user according to the position information of the user array object matched with the position information of the mouse operation of the current user in the main panel of the IM client and the searched user array object.
In step a, the starting of creating the discussion group specifically includes:
the main panel management module registers, receives and responds to different types of windows dragging messages sent by the windows message management module; and starting the creation of the discussion group when the received windows dragging message is a left mouse button message released by the current user or the condition that the mouse operation of the current user exceeds the effective area of the main panel of the IM client is captured.
Wherein, the step B is specifically as follows:
b1, establishing a user number list in the discussion group based on the preselected user, and acquiring the user number list in the discussion group from the main panel management module by the discussion group management module; packaging the user number list in the discussion group and the current user account into a discussion group creating request, and sending the discussion group creating request to an IM server for verifying the upper limit of the number of the user;
b2, the IM server extracts the user number list and the current user account, and corresponding to the current user account, under the condition that the number of users in the user number list is judged to be larger than the upper limit of the number of users preset at the server side, a message of failed creation is issued to the discussion group management module; and under the condition that the number of the users in the user number list is judged to be not more than the upper limit of the number of the users preset by the server side, the generated unique discussion group identification number is packaged into a message which is successfully created and sent to the discussion group management module.
Wherein, step B2 is followed by:
b3, the discussion group management module extracts the discussion group identification number, packages the discussion group identification number and the user number list in the discussion group into the request of adding the discussion group user, and sends the request to the IM server;
b4, the IM server extracts the discussion group identification number and the user number list in the discussion group, corresponding to the discussion group identification number, the users in the user number list in the discussion group are determined as the target users in the discussion group and stored, so as to complete the creation of the discussion group.
Wherein, step B4 is followed by:
b5, the IM server inquires an IM status server according to the user number list in the discussion group, inquires and acquires the status information of each user in the user number list in the discussion group;
b6, when the state information of the user is on-line, the IM server sends the notice message of successfully creating the discussion group to each user in on-line state, so that each user in on-line state completes the session discussion of the participating multi-user, the update and download operation of the discussion group data; or,
when inquiring that the state information of the user is offline, the IM server does not send a notification message for successfully creating the multi-user session discussion group to each user in the offline state; or the IM server issues the notification message of successfully creating the multi-user session discussion group to each user in the off-line state, and selects whether to participate in the multi-user session discussion when each user in the off-line state is recovered to the on-line state; or,
when the state information of the user is inquired to be in the user-defined state, the IM server issues the notification message of successfully creating the multi-user session discussion group to each user in the user-defined state, and each user in the user-defined state selects whether to participate in the multi-user session discussion.
The system of the invention comprises: an IM client and an IM server. The IM client is used for finishing the pre-selection of users in the multi-user session discussion group according to the mouse operation and/or the keyboard control operation of the current user and starting the creation of the multi-user session discussion group.
As for the bottom layer implementation, the multi-user session discussion group can be quickly and conveniently established based on the functional modules and the method flow in the system, so as to meet the new requirements of the users and improve the experience of the users. With the intuitive expression form of the invention, the session interface of the multi-user session discussion group shown in FIG. 2 can be automatically and directly obtained by the operation of multi-selecting users through the main panel of the IM tool and dragging. For example, when a user needs to discuss a topic, the user only needs to select a user with a mouse and then press a shift key to select multiple users participating in conversation discussion in the main panel of the IM tool according to the operation habit of a windows operating system; then dragging the selected multiple users out of the main panel of the IM tool by using a mouse; after the mouse is released, the IM tool can automatically complete the process of creating the multi-user conversation discussion group, and a conversation interface of the multi-user conversation discussion group shown in FIG. 2 is obtained. In the prior art, the creation of the multi-user session discussion group is realized by manual selection, and the multi-user session discussion group session interface shown in fig. 2 can be finally obtained through multiple operations. In summary, comparing the present invention with the prior art, it can be seen that: by adopting the invention, the creation of the multi-user session discussion group can be automatically completed only by simple dragging after multi-selection, so that the multi-user session discussion group can be quickly and conveniently created, and the user experience is improved; and the method brings great operation convenience and rapidness to users familiar with the windows operating system, can greatly meet the personalized requirements of the users, and improves the usability of the IM tool.
Drawings
FIG. 1 is a schematic diagram of a user selection interface opened by a user through an operator portal for establishing a multi-user chat;
FIG. 2 is a schematic illustration of a conversation interface of a multi-user conversation discussion group;
FIG. 3 is a schematic diagram of the structure of the system of the present invention;
fig. 4 is a schematic flow chart of an implementation of the method of the present invention.
Detailed Description
The core idea of the invention is as follows: with the intuitive expression form of the invention, the creation process of the multi-user conversation discussion group can be automatically completed by controlling and operating the multi-selection user on the main panel of the IM tool through the mouse and/or the keyboard and dragging the multi-selection user.
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings by way of examples.
As shown in fig. 3, a system for creating a multi-user session, the system comprising: an IM client 1 and an IM server 2 connected. Here, since the IM server 2 is existing, and the IM server 2 generally performs an authentication operation of validity verification on the user account and the login password input by the user logging in the IM client 1 through interaction with the IM client 1, if the user passes the authentication, that is, through the validity verification of the IM server 2, the user successfully logs in the IM client 1; otherwise, the IM client 1 receives a prompt message from the IM server to prompt the user that the login to the IM client 1 fails. Only IM client 1 will be described below.
Here, the IM client 1 is configured to complete pre-selection of users in the multi-user talk group according to mouse operations and/or keyboard control operations of the current user, and initiate creation of the multi-user talk group. The IM client 1 is also used for sending the users in the pre-selected discussion group to the IM server 2, and the IM client 1 and the IM server 2 negotiate to determine the target users in the multi-user session discussion group so as to complete the creation of the multi-user session discussion group. It is to be noted that the user fingers in the so-called pre-selected discussion group: the current user wishes to create a user into a multi-user session discussion group; the target user in the multi-user session discussion group refers to: in creating the completed multi-user session discussion group, there are actually target users. Since the number of users in the pre-selected discussion group may exceed the preset upper limit of the number of users stored in the IM server 1, negotiation between the IM client 1 and the IM server 2 is required in order to determine the target users in the final multi-user session discussion group. That is, the users in the discussion group pre-selected by the current user do not necessarily all exist in the multi-user session discussion group that is finally created.
The functional modules specifically included in the IM client 1 are explained below.
The IM client 1 includes: a main panel management module 11, a user management module 12 and a windows message management module 13. The main panel management module 11 is configured to obtain a corresponding user number list from the user management module 12 through a current user account, that is, according to a corresponding relationship between the current user account and the user number list, enable a current user to obtain a user number list required for creating a multi-user session discussion group; and establishing a user array queue corresponding to the current user according to the user number list. And calculating the position information of each user group object in the user group queue, and determining the position information of each pre-selected user corresponding to the position information displayed in the main panel of the IM client. Interacting with the windows message management module 13, and determining the preselected member according to the position information of the preselected user, the mouse operation of the current user, and/or the keyboard control operation. The user management module 12 is used for storing and managing related information of the user, including a user number list and subsequent sorting information. The windows message management module 13 is configured to manage windows messages, and interact with the main panel management module 11 to determine the preselected member according to a mouse operation and/or a keyboard control operation of a current user.
The main panel management module 11 is further configured to obtain, from the user management module 12, ranking information including a corresponding user display name, a corresponding user state, and a corresponding user identity through the current user account, and rank each user group object in the established user data queue. For the user group object, the attribute information of the user group object in the user data queue includes: the information of the current user account, the position information of the user corresponding to the current user, and the size information occupied by the user corresponding to the current user. Here, for a user corresponding to the current user, according to the corresponding relationship between the current user account and the user number list, the current user obtains the user number list required for creating the multi-user session discussion group, and then the user corresponding to the current user is: the current user creates a user in the list of user numbers required by the multi-user session discussion group. The size information occupied by the user corresponding to the current user is: the information is distributed by adopting a uniform standard and is fixed size information.
Here, the main panel management module 11 is further configured to obtain a first user group object in the sorted user group objects, and determine location information of a user corresponding to a current user in attribute information of the first user group object as location information of the first user group object, that is, initial location information of a user data object in a user array queue formed after sorting; and accumulating the size information occupied by the user corresponding to the current user on the basis of the position information of the first user group object, and sequentially calculating the position information of other user group objects in the sequenced user group objects. Here, it should be noted that, since the size information occupied by the user corresponding to the current user is the fixed size information, the position information of the other user group objects in the sorted order can be obtained only by sequentially accumulating the size information on the initial position information of the user data objects in the user group queue formed by sorting. For example, the position information of the second user group object in the sorted user group objects is: the initial position information of the user data object is accumulated with the size information. The position information of the third user group object in the ordered user group objects is obtained by sequentially accumulating the size information on the basis of the previously obtained accumulated value, that is, the accumulated value obtained by accumulating the initial position information of the user data object and the size information.
The main panel management module 11 is further configured to, after intercepting a windows message from the windows message management module 13 to capture a mouse operation and a keyboard operation of a current user, obtain position information of the mouse operation of the current user in the main panel of the IM client through a windows mouse left key message under the condition that it is determined that the keyboard operation is the keyboard control operation, traverse each user array object in the user array queue, and determine that the user is the preselected user according to the position information of the user array object matched with the position information of the mouse operation of the current user in the main panel of the IM client and the found user array object. Here, for example, the keyboard control operation may be a control operation in which a key value of the keyboard pressed by the current user is a shift key, or may be a control operation in which a key value of the keyboard pressed by the current user is a ctrl key.
Here, the main panel management module 11 is further configured to register, receive, and respond to different types of windows drag messages sent by the windows message management module 13; and starting the creation of the multi-user session discussion group under the condition that the received windows dragging message is the message of releasing the dragged left mouse button of the current user or the condition that the mouse operation of the current user exceeds the effective area of the main panel of the IM client. For example, the windows drag message includes DragMove, DragEnter, and DragLeave. Then, when the user clicks the left mouse button to start dragging after the user has selected the pre-selected user, the windows message management module 13 will transmit corresponding DragMove and DragEnter messages, so that the main panel of the IM client can respond specifically, for example, the shape of the mouse can be set. When the main panel management module 11 receives a message that the current user releases the dragged mouse left key, i.e., a DragLeave message, it indicates that the current user releases the dragged mouse operation, so that the main panel management module 11 predicts that the user wants to create a discussion group according to the pre-selected user, and starts the creation of a multi-user session discussion group.
The main panel management module 11 is further configured to establish a user number list in a multi-user session discussion group based on the pre-selected user; the IM client 1 further includes a discussion group management module 14, configured to obtain, from the main panel management module 11, a user number list in the multi-user session discussion group, under the call of the main panel management module 11; and packaging the user number list and the current user account in the multi-user session discussion group into a discussion group creating request, and sending the request to the IM server 2 for verifying the upper limit of the number of the users.
Here, the IM server 2 is further configured to extract a user number list and a current user account, and issue a message of failed creation to the discussion group management module 14 in a case that it is determined that the number of users in the user number list is greater than an upper limit of the number of users preset at the server side, corresponding to the current user account; and under the condition that the number of the users in the user number list is not larger than the upper limit of the number of the users preset by the server side, packaging the generated unique discussion group identification number into a message which is successfully created, and sending the message to the discussion group management module 14. The upper limit may be a default of the system or may be preset by the user.
Here, the discussion group management module 14 is further configured to extract the multi-user session discussion group identification number, package the multi-user session discussion group identification number and the list of user numbers in the multi-user session discussion group into the request for adding the discussion group, and send the request to the IM server 2. The IM server 2 is further configured to extract the identification number of the multi-user session discussion group and the user number list in the multi-user session discussion group, determine and store a user in the user number list in the multi-user session discussion group as a target user in the multi-user session discussion group corresponding to the identification number of the multi-user session discussion group, so as to complete creation of the multi-user session discussion group.
As shown in fig. 3, a system for creating a multi-user session, the system further comprising: and the IM status server 3 is used for storing the status information of the users. Then, after the IM client 1 completes the creation of the multi-user session discussion group, the IM server 2 is further configured to query the IM state server 3 according to the user number list in the multi-user session discussion group, obtain state information of each user in the user number list in the multi-user session discussion group, and execute different subsequent operations according to different user state information, so that each user requested to join in the multi-user session discussion group by the IM client 1 can participate in the multi-user session discussion. Including the following.
In the first case, when the state information of the user is on-line, the IM server 2 issues a notification message for successfully creating the multi-user session discussion group to each user in the on-line state, so that each user in the on-line state completes the operations of participating in the multi-user session discussion, updating and downloading the data of the multi-user session discussion group.
In the second case, when the status information of the user is not online, the IM server 2 may not send the notification message of successfully creating the multi-user session discussion group to each user who is not online. Or, the IM server 2 may also issue a notification message for successfully creating the multi-user session discussion group to each user in the offline state, and select whether to participate in the multi-user session discussion when each user in the offline state is restored to the online state.
In the third case, when the state information of the user is in the customized state, the IM server 2 issues the notification message of successfully creating the multi-user session discussion group to each user in the customized state, and each user in the customized state selects whether to participate in the multi-user session discussion. Here, the user may set the custom state as a state for preventing disturbance, for example, set the custom state as a state for denying access, and then, when the state information of the user is queried as the state for denying access, the IM server 2 does not send a notification message for successfully creating the multi-user session discussion group to each user in the state for denying access.
The first method embodiment is as follows: and the IM client completes the creation of the multi-user session discussion group according to the mouse operation and the keyboard control operation of the current user. Namely, the multi-user session discussion group creation process can be automatically completed by controlling and operating the multi-selection user on the main panel of the IM tool through the mouse and the keyboard and dragging the mouse.
Then, as shown in fig. 4, the flow of creating a multi-user session in this embodiment includes the following steps:
step 101, after the user successfully logs in the IM client, the IM client completes the pre-selection of the user in the multi-user session discussion group according to the mouse operation and the keyboard control operation of the current user, and starts the creation of the multi-user session discussion group.
In step 101, the specific process of successfully logging in the IM client by the user is completed through the interaction between the IM client and the IM server. Specifically, after a user inputs a user account and a login password in an IM client, the IM server performs authentication operation of validity verification on the user logging in the IM client, and if the user passes the authentication, namely the user passes the validity verification of the IM server, the user successfully logs in the IM client; otherwise, the IM client receives a prompt message from the IM server to prompt the user that the IM client fails to log in.
In step 101, the specific processing procedure of the IM client for completing the pre-selection of the user in the multi-user session discussion group according to the mouse operation and the keyboard control operation of the current user includes:
step 1011, the main panel management module acquires a corresponding user number list through the current user account, and establishes a user array queue corresponding to the current user according to the user number list.
Here, the user array queue is constituted by a user array object, and the attribute information of the user array object includes: the information of the current user account, the position information of the user corresponding to the current user, and the size information occupied by the user corresponding to the current user. Attribute information of the user group object needs to be initialized.
Step 1012, the main panel management module sorts each user group object in the established user data queue according to the current user account and the obtained sorting information including the corresponding user display name, the corresponding user state and the corresponding user identity.
Step 1013, the main panel management module calculates the position information of each user array object in the user array queue, and determines the position information of each pre-selected user corresponding to the main panel displayed on the IM client.
Here, the attribute information of the user group object includes: the information of the current user account, the position information of the user corresponding to the current user, and the size information occupied by the user corresponding to the current user. Then, in step 1013, the specific process of the main panel management module calculating the location information of each user array object in the user array queue is as follows: the main panel management module acquires a first user group object in the ordered user group objects, and determines the position information of a user corresponding to the current user in the attribute information of the first user group object as the position information of the first user group object; and on the basis of the position information of the first user array object, sequentially accumulating the size information occupied by the user corresponding to the current user, and sequentially calculating the position information of other user array objects in the sequenced user array objects.
Here, it should be noted that, since the size information occupied by the user corresponding to the current user is distributed by using a uniform standard, the size information is fixed size information. Therefore, the position information of other user group objects in the sequence can be obtained only by sequentially accumulating the size information on the initial position information of the user data objects in the user group array formed by the sequence. For example, the position information of the second user group object in the sorted user group objects is: the initial position information of the user data object is accumulated with the size information. The position information of the third user group object in the ordered user group objects is obtained by sequentially accumulating the size information on the basis of the previously obtained accumulated value, that is, the accumulated value obtained by accumulating the initial position information of the user data object and the size information. That is, the main panel management module only needs to determine the initial position information of the user array object that can be drawn in the main panel area and the fixed size information of each user array object, and can calculate the position of each user array object in the user array queue according to the sequence of each user array object in the user data queue in step 1012. And finally, the user position physically displayed in the main panel area of the IM client can be obtained through the calculated position of each user group object in the user group queue.
Step 1014, the main panel management module interacts with the windows message management module, and determines the preselected user according to the position information of the preselected user, the mouse operation and the keyboard control operation of the current user.
Here, the specific processing procedure of step 1014 is: after intercepting the windows information from the windows information management module to capture the mouse operation and the keyboard operation of the current user, the main panel management module acquires the position information of the mouse operation of the current user in the main panel of the IM client through the windows mouse left key information under the condition that the keyboard operation is judged to be the keyboard control operation, traverses each user group object in the user group queue, and determines the user to be the preselected user according to the position information of the user group object matched with the position information of the mouse operation of the current user in the main panel of the IM client and the searched user group object. Here, the keyboard control operation may be a control operation in which a key value for pressing the keyboard by the current user is a shift key, or a control operation in which a key value for pressing the keyboard by the current user is a ctrl key.
For the control operation that the key value of the keyboard pressed by the current user is the Shift key, for example, the main panel management module intercepts a windows message from the windows message management module to capture the mouse operation and the keyboard operation of the current user, acquires the key value of the keyboard pressed by the current user through a windows API, judges whether the key value is the Shift key, and if so, acquires the position information of the mouse operation of the current user in the main panel of the IM client through a windows mouse left key message, traverses each user group object in the user group queue, and determines the user as the preselected user according to the position information of the user group object matched with the position information of the mouse operation of the current user in the main panel of the IM client and the searched user group object. Otherwise, the key value is not a Shift key, which indicates that the user does not belong to multi-selection, and exits from the current creation process of the multi-user session discussion group.
In step 101, the starting of the creation of the multi-user session discussion group specifically includes: the main panel management module registers, receives and responds to different types of windows dragging messages sent by the windows message management module; and starting the creation of the multi-user session discussion group under the condition that the received windows dragging message is the message of releasing the dragged left mouse button of the current user or the condition that the mouse operation of the current user exceeds the effective area of the main panel of the IM client.
Here, the windows drag message includes DragMove, DragEnter, and DragLeave, for example. Then, when the user finishes selecting the pre-selected user and clicks the left mouse button to start dragging, the windows message management module transmits corresponding DragMove and DragEnter messages, so that the main panel of the IM client can respond specifically, for example, the shape of the mouse can be set. When the main panel management module receives a message that the current user releases the dragged mouse left key, namely a DragLeave message, the main panel management module indicates that the current user releases the dragged mouse operation, so that the main panel management module predicts that the user wants to create the discussion group according to the pre-selected user and starts the creation of the multi-user session discussion group.
And 102, the IM client sends the preselected user to an IM server, and negotiates with the IM server to determine a target user in the multi-user session discussion group so as to complete the creation of the multi-user session discussion group.
Here, the specific processing procedure of step 102 includes:
step 1021, the main panel management module establishes a user number list in the multi-user session discussion group based on the preselected user, invokes an interface of the discussion group management module for establishing the multi-user session discussion group, sends the user number list in the established multi-user session discussion group to the discussion group management module, and the discussion group management module acquires the user number list in the multi-user session discussion group from the main panel management module; and packaging a user number list and a current user account in the multi-user session discussion group into a discussion group creating request, and sending the user number list and the current user account to an IM server for verification of the upper limit of the number of the user.
Step 1022, after the IM server receives the request for creating the discussion group, and analyzes and decrypts the request to confirm that the request is a valid request, extracts the user number list and the current user account, and issues a message of failed creation to the discussion group management module in response to the current user account under the condition that the number of users in the user number list is determined to be greater than the upper limit of the number of users preset at the server side; and under the condition that the number of the users in the user number list is judged to be not more than the upper limit of the number of the users preset by the server side, packaging the generated unique identification number of the multi-user session discussion group into a message which is successfully created, and sending the message to the discussion group management module.
Step 1023, the discussion group management module extracts the identification number of the multi-user session discussion group, packages the identification number of the multi-user session discussion group and the list of the user numbers in the multi-user session discussion group into the request of the user who adds the discussion group, and sends the request to the IM server.
Step 1024, the IM server extracts the identification number of the multi-user session discussion group and the user number list in the multi-user session discussion group, and determines the users in the user number list in the multi-user session discussion group as: and the target users in the multi-user session discussion group are stored to complete the creation of the multi-user session discussion group. That is, the list of the user numbers in the multi-user session discussion group is written into the IM server database and stored in the data row corresponding to the identification number of the multi-user session discussion group.
Step 1025, after the user number list in the multi-user session discussion group is successfully stored in the IM server database, the IM server queries the IM status server according to the user number list in the multi-user session discussion group, and queries and acquires the status information of each user in the user number list in the multi-user session discussion group.
That is, after the IM client initiating the creation of the multi-user session discussion group completes the creation of the multi-user session discussion group, the IM server further queries the IM state server according to the user number list in the multi-user session discussion group, obtains the state information of each user in the user number list in the multi-user session discussion group, and executes different subsequent operations according to the difference of the state information of each user, so that each user requested to join in the multi-user session discussion group by the IM client can participate in the multi-user session discussion. Then step 1026, which is performed after step 1025, includes the following.
Step 1026a, when the status information of the user is on-line, the IM server issues a notification message for successfully creating the discussion group to each user in the on-line status, so that each user in the on-line status completes the operations of participating in the multi-user session discussion, and updating and downloading the data of the multi-user session discussion group.
Step 1026b, when inquiring that the state information of the user is offline, the IM server does not send the notification message of successfully creating the multi-user session discussion group to each user in the offline state; or the IM server issues the notification message of successfully creating the multi-user session discussion group to each user in the offline state, and selects whether to participate in the multi-user session discussion when each user in the offline state is recovered to the online state.
And step 1026c, when the state information of the user is in the user-defined state, the IM server issues a notification message for successfully creating the multi-user session discussion group to each user in the user-defined state, and each user in the user-defined state selects whether to participate in the multi-user session discussion.
Here, the user may set the custom state as a state for preventing disturbance, for example, set the custom state as a state for denying access, and then, when the state information of the user is queried as the state for denying access, the IM server does not send a notification message for successfully creating the multi-user session discussion group to each user in the state for denying access.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention.

Claims (14)

1. A system for creating a multi-user session comprising an instant messaging, IM, server, characterized in that the system further comprises: the IM client is used for finishing the pre-selection of users in the multi-user session discussion group according to the mouse operation and/or the keyboard control operation of the current user and starting the establishment of the discussion group; sending the preselected users to the IM server, negotiating with the IM server to determine the target users in the discussion group, and completing the creation of the discussion group; wherein the target users in the discussion group are a subset of the pre-selected users.
2. The system of claim 1, wherein the IM client comprises a main panel management module, a user management module, and a windows message management module; wherein,
the main panel management module is used for acquiring a corresponding user number list from the user management module through a current user account, and establishing a user array queue corresponding to a current user according to the user number list; calculating the position information of each user group object in the user group queue, and determining the position information as the position information of each corresponding preselected user; interacting with the windows message management module, and determining the preselected user according to the position information of the preselected user, the mouse operation of the current user and/or the keyboard control operation;
the user management module is used for storing and managing the related information of the user;
and the windows message management module is used for managing windows messages, interacting with the main panel management module and determining the preselected members according to the mouse operation and/or the keyboard control operation of the current user.
3. The system of claim 2, wherein the main panel management module is further configured to register, receive, and respond to different types of windows drag messages sent by the windows message management module; and starting the creation of the discussion group when the received windows dragging message is a left mouse button message released by the current user or the condition that the mouse operation of the current user exceeds the effective area of the main panel of the IM client is captured.
4. The system according to any one of claims 2 to 3, wherein the main panel management module is further configured to establish a list of user numbers in the discussion group based on the pre-selected user;
the IM client further comprises a discussion group management module used for acquiring a user number list in the discussion group from a main panel management module under the call of the main panel management module; and packaging the user number list in the discussion group and the current user account into a discussion group creating request, and sending the discussion group creating request to the IM server for verifying the upper limit of the number of the user.
5. A method of creating a multi-user session, the method comprising:
A. the IM client finishes the pre-selection of users in a multi-user session discussion group according to the mouse operation and/or keyboard control operation of the current user, and starts the creation of the discussion group;
B. the IM client sends the preselected users to an IM server, and negotiates with the IM server to determine the target users in the discussion group so as to complete the creation of the discussion group; wherein the target users in the discussion group are a subset of the pre-selected users.
6. The method according to claim 5, wherein in step a, the IM client completes the pre-selection of the users in the multi-user session discussion group according to the mouse operation and/or the keyboard control operation of the current user specifically:
a1, acquiring a corresponding user number list through a current user account by a main panel management module, and establishing a user array queue corresponding to the current user according to the user number list;
a2, the main panel management module calculates the position information of each user array object in the user array queue and determines the position information as the position information of each corresponding preselected user;
a3, interacting the main panel management module with the windows message management module, and determining the pre-selected user according to the position information of the pre-selected user, the mouse operation of the current user and/or the keyboard control operation.
7. The method of claim 6, further comprising, after step A1:
and the main panel management module sorts each user group object in the established user data queue according to the current user account and the obtained sorting information comprising the corresponding user display name, the corresponding user state and the corresponding user identity.
8. The method of claim 7, wherein the attribute information of the user group object comprises: the information of the current user account, the position information of the user corresponding to the current user, and the size information occupied by the user corresponding to the current user.
9. The method according to claim 8, wherein in step a2, the step of the main panel management module calculating the position information of each user array object in the user array queue includes:
the main panel management module acquires a first user group object in the ordered user group objects, and determines the position information of the user corresponding to the current user in the attribute information of the first user group object as the position information of the first user group object; and on the basis of the position information of the first user group object, sequentially accumulating the size information occupied by the user corresponding to the current user, and sequentially calculating the position information of other user group objects in the sequenced user group objects.
10. The method according to claim 9, wherein step a3 is specifically:
the main panel management module intercepts windows information from the windows information management module to capture mouse operation and/or keyboard operation of a current user, acquires position information of the mouse operation of the current user in a main panel of the IM client through windows mouse left key information under the condition that the keyboard operation is judged to be the keyboard control operation, traverses each user array object in the user array queue, and determines the user to be the preselected user according to the position information of the user array object matched with the position information of the mouse operation of the current user in the main panel of the IM client and the searched user array object.
11. The method according to claim 6, wherein in step a, initiating creation of the discussion group is specifically:
the main panel management module registers, receives and responds to different types of windows dragging messages sent by the windows message management module; and starting the creation of the discussion group when the received windows dragging message is a left mouse button message released by the current user or the condition that the mouse operation of the current user exceeds the effective area of the main panel of the IM client is captured.
12. The method according to any one of claims 6 to 11, wherein step B is in particular:
b1, establishing a user number list in the discussion group based on the preselected user, and acquiring the user number list in the discussion group from the main panel management module by the discussion group management module; packaging the user number list in the discussion group and the current user account into a discussion group creating request, and sending the discussion group creating request to an IM server for verifying the upper limit of the number of the user;
b2, the IM server extracts the user number list and the current user account, and corresponding to the current user account, under the condition that the number of users in the user number list is judged to be larger than the upper limit of the number of users preset at the server side, a message of failed creation is issued to the discussion group management module; and under the condition that the number of the users in the user number list is judged to be not more than the upper limit of the number of the users preset by the server side, the generated unique discussion group identification number is packaged into a message which is successfully created and sent to the discussion group management module.
13. The method of claim 12, further comprising, after step B2:
b3, the discussion group management module extracts the discussion group identification number, packages the discussion group identification number and the user number list in the discussion group into the request of adding the discussion group user, and sends the request to the IM server;
b4, the IM server extracts the discussion group identification number and the user number list in the discussion group, corresponding to the discussion group identification number, the users in the user number list in the discussion group are determined as the target users in the discussion group and stored, so as to complete the creation of the discussion group.
14. The method of claim 13, further comprising, after step B4:
b5, the IM server inquires an IM status server according to the user number list in the discussion group, inquires and acquires the status information of each user in the user number list in the discussion group;
b6, when the state information of the user is on-line, the IM server sends the notice message of successfully creating the discussion group to each user in on-line state, so that each user in on-line state completes the session discussion of the participating multi-user, the update and download operation of the discussion group data; or,
when inquiring that the state information of the user is offline, the IM server does not send a notification message for successfully creating the multi-user session discussion group to each user in the offline state; or the IM server issues the notification message of successfully creating the multi-user session discussion group to each user in the off-line state, and selects whether to participate in the multi-user session discussion when each user in the off-line state is recovered to the on-line state; or,
when the state information of the user is inquired to be in the user-defined state, the IM server issues the notification message of successfully creating the multi-user session discussion group to each user in the user-defined state, and each user in the user-defined state selects whether to participate in the multi-user session discussion.
CN2008101291437A 2008-06-30 2008-06-30 System and method for establishing multi-user conversation Active CN101296200B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101291437A CN101296200B (en) 2008-06-30 2008-06-30 System and method for establishing multi-user conversation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101291437A CN101296200B (en) 2008-06-30 2008-06-30 System and method for establishing multi-user conversation

Publications (2)

Publication Number Publication Date
CN101296200A CN101296200A (en) 2008-10-29
CN101296200B true CN101296200B (en) 2011-02-02

Family

ID=40066217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101291437A Active CN101296200B (en) 2008-06-30 2008-06-30 System and method for establishing multi-user conversation

Country Status (1)

Country Link
CN (1) CN101296200B (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534207B (en) * 2009-04-13 2012-05-23 腾讯科技(深圳)有限公司 Group joining system and group joining method
CN102638420A (en) * 2012-05-08 2012-08-15 上海量明科技发展有限公司 Method, client and system for setting subject bulletin board in instant messaging
CN104125133B (en) * 2013-04-27 2015-11-25 腾讯科技(深圳)有限公司 Conversation informing method, Apparatus and system in a kind of instant messaging application
US10079787B2 (en) 2014-03-20 2018-09-18 Xiaomi Inc. Method and apparatus for creating group and exiting group
CN103888344B (en) * 2014-03-20 2017-07-14 小米科技有限责任公司 Group creating method, group exit method and apparatus
CN104935722A (en) * 2014-03-21 2015-09-23 华为技术有限公司 Communication method and ip telephone terminal
CN105139258A (en) * 2015-07-28 2015-12-09 小米科技有限责任公司 Group member addition method and apparatus
CN105096978B (en) * 2015-08-25 2017-11-24 广东欧珀移动通信有限公司 The name management method and terminal of a kind of playback equipment group
CN106130879A (en) * 2016-06-30 2016-11-16 珠海市魅族科技有限公司 A kind of session establishing method and device
CN105915447A (en) * 2016-06-30 2016-08-31 珠海市魅族科技有限公司 Multi-party session establishing method and device
CN106850345B (en) * 2017-01-21 2020-11-06 厦门天锐科技股份有限公司 Method for monitoring and inquiring network user state
CN109167668B (en) * 2018-07-25 2021-04-30 深圳市梦网科技发展有限公司 Message notification method, message notification device and terminal equipment
CN108965111A (en) * 2018-08-02 2018-12-07 北京达佳互联信息技术有限公司 Quickly establish the method, device and mobile terminal and storage medium of communication group
CN109637225B (en) * 2018-12-20 2021-03-12 广东小天才科技有限公司 Interactive learning method and system
CN114064173A (en) * 2021-11-09 2022-02-18 广州博冠信息科技有限公司 Method, device, medium and equipment for creating instant session page
CN114629867A (en) * 2022-03-22 2022-06-14 康键信息技术(深圳)有限公司 On-line inquiry instant communication system and message processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991727A (en) * 2005-12-28 2007-07-04 腾讯科技(深圳)有限公司 Arrangement customization method of friends grouping on instantaneous communication subscriber mainboard
CN101026612A (en) * 2006-02-21 2007-08-29 腾讯科技(深圳)有限公司 Method for managing different attribute suhgroups and their members for instant communication tool
CN101127736A (en) * 2007-09-26 2008-02-20 腾讯科技(深圳)有限公司 An instant communication system and method for processing sub-panel

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991727A (en) * 2005-12-28 2007-07-04 腾讯科技(深圳)有限公司 Arrangement customization method of friends grouping on instantaneous communication subscriber mainboard
CN101026612A (en) * 2006-02-21 2007-08-29 腾讯科技(深圳)有限公司 Method for managing different attribute suhgroups and their members for instant communication tool
CN101127736A (en) * 2007-09-26 2008-02-20 腾讯科技(深圳)有限公司 An instant communication system and method for processing sub-panel

Also Published As

Publication number Publication date
CN101296200A (en) 2008-10-29

Similar Documents

Publication Publication Date Title
CN101296200B (en) System and method for establishing multi-user conversation
US9720565B2 (en) Instant messaging activity notification
CN105530175B (en) Message processing method, device and system
US20190349326A1 (en) Sharing on-line media experiences
US7865563B2 (en) Persisting a group in an instant messaging application
RU2513761C2 (en) Method and server for instant messaging
CN107294908B (en) Account information processing method, device and system in instant messaging application
CA2690731C (en) Method, system for controlling service access and server
US20100146065A1 (en) Method and apparatus for realizing instant messaging between a plurality of members in an instant messenger group
CN105824875B (en) A kind of photo be shared method and mobile terminal
CN102780653B (en) Quick method, client and the system communicated in instant messaging
US9563876B2 (en) Control options for instant message display and notification
CN105933331A (en) Method and device for operating accounts
US8838803B2 (en) Methods and apparatus for management of user presence in communication activities
CN105721175A (en) Group processing method, group file processing method, and group file processing device
CN107196852A (en) Instant communicating method and user terminal
CN110391970A (en) For the message management system of communication applications, method, equipment and storage medium
JP2024009370A (en) Information processing system, information processing method, and program
CN110300046A (en) A kind of business consultation control method, terminal and server
CN101247363A (en) Method, client terminal and system for implementing instant communication message reminding
CN111555964A (en) Group member management method, electronic device and storage medium
KR20210116865A (en) Method and apparatus for providing chatting service
WO2008026416A1 (en) Message transmitting/receiving system
CN106911551A (en) A kind of processing method and equipment for identifying picture
EP3073437B1 (en) Method and apparatus for providing user intention expression service in communication system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant