一种发起与组建虚拟讨论组的方法及系统转让专利

申请号 : CN200610061134.X

文献号 : CN101079823B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李斌

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种发起与组建虚拟讨论组的方法,所述讨论组包括有服务器和多个由客户端分别构成的多个成员,包括以下步骤:(a)客户端生成讨论组创建请求并将所述请求发送到服务器,所述讨论组创建请求包括有讨论组讨论开始时间及成员列表;(b)服务器根据所述讨论组创建请求生成讨论组记录并将讨论组信息发送到讨论组成员,所述讨论组记录包括有讨论组标识、讨论组成员、讨论组状态以及讨论开始时间,其中讨论组状态设置为预约状态;(c)在达到讨论组讨论开始时间时,服务器激活讨论组。本发明还公开了一种对应的发起与组建虚拟讨论组的系统。本发明通过预约建立讨论组,可使讨论组成员进行充分准备,促进讨论效果。

权利要求 :

1.一种发起与组建虚拟讨论组的方法,所述讨论组包括有服务器和多个由客户端分别构成的多个成员,其特征在于,包括以下步骤:(a)客户端生成讨论组创建请求并将所述请求发送到服务器,所述讨论组创建请求包括有讨论组讨论开始时间及成员列表;

(b)服务器根据所述讨论组创建请求生成讨论组记录并将讨论组信息发送到讨论组成员,所述讨论组记录包括有讨论组标识、讨论组成员、讨论组状态以及讨论开始时间,其中讨论组状态设置为预约状态;

(c)所述客户端在达到讨论开始时间时,向服务器发送包含讨论组标识的激活讨论组命令,并由所述服务器根据讨论组标识激活对应讨论组。

2.根据权利要求1所述的一种发起与组建虚拟讨论组的方法,其特征在于,所述讨论组创建请求中还包括有讨论主题,所述服务器中的讨论组记录包括有讨论主题,所述讨论组信息中包括有讨论主题。

3.根据权利要求2所述的一种发起与组建虚拟讨论组的方法,其特征在于,在所述步骤(b)中还包括将讨论组信息发送到讨论组成员在服务器中登记的移动终端。

4.根据权利要求1所述的一种发起与组建虚拟讨论组的方法,其特征在于,所述步骤(b)包括:(b1)所述服务器根据讨论组创建请求生成新的讨论组记录,所述讨论组记录包括有讨论组标识、讨论组成员、讨论组状态以及讨论组开始时间,其中讨论组状态设置为预约状态;

(b2)所述服务器讨论组成员列表中的各个成员的登陆IP以及端口利用消息中心下发讨论组信息到对应的客户端,所述讨论组信息包括讨论组标识、讨论组成员列表、讨论主题以及讨论组开始时间。

5.根据权利要求1所述的一种发起与组建虚拟讨论组的方法,其特征在于,所述步骤(c)包括:(c1)所述讨论组成员所在客户端根据从服务器接收的讨论组信息创建讨论组数据结构,并根据讨论组数据结构中的讨论开始时间判断是否达到讨论开始时间。

6.根据权利要求4或5所述的一种发起与组建虚拟讨论组的方法,其特征在于,所述激活讨论组步骤包括:如果服务器的讨论组数据表中与所述讨论组标识对应的讨论组处于预约状态,则修改讨论组状态为激活状态,并获取讨论组成员登陆IP与端口从而向讨论组成员下发激活讨论组消息;

成员客户端接收到讨论组激活通知消息后,利用本地存储模块修改该讨论组对应的状态字段为激活状态;

利用聊天窗口管理模块,根据本地存储模块中的讨论组数据结构载入讨论组对应的成员列表,并使用对应的讨论组聊天窗口进行消息的收发。

7.一种发起与组建虚拟讨论组的系统,包括有服务器和多个由客户端分别构成的多个讨论组成员,其特征在于,所述客户端包括有生成讨论组创建请求并发送所述讨论组创建请求到服务器的预约处理模块、存储服务器返回的讨论组信息的存储单元,所述服务器包括根据讨论组创建请求生成讨论组记录的讨论组创建模块以及激活讨论组的讨论组维护模块,其中所述讨论组记录包括讨论组的标识、讨论组成员、讨论组状态以及讨论开始时间,所述讨论组创建模块在生成讨论组记录时将讨论组状态设置为预约状态,所述讨论组维护模块在激活讨论组时将讨论组状态设置为激活状态,所述客户端包括有在时间达到讨论开始时间时向讨论组维护模块发送激活讨论组指令的检测模块。

8.根据权利要求7所述的一种发起与组建虚拟讨论组的系统,其特征在于,所述讨论组创建请求中还包括有讨论主题,所述服务器中的讨论组记录包括有讨论主题。

说明书 :

技术领域

本发明涉及计算机技术领域,更具体地说,涉及一种发起与组建虚拟讨论组的方法及系统。

背景技术

网络即时通信工具(Instant Messenger,IM)已经成为大多数网民所使用的沟通工具,其不仅应用于平时的休闲娱乐,而且在工作中也得到了广泛的使用。因此用户对IM软件的易用性、稳定性、安全性等方面提出了较高的要求。
在用户使用进行沟通的过程中,不但需要进行个人对个人的交互,而且往往需要同时与多个其他用户进行交流与沟通。例如在不同地点工作的同事由于不能在一起面对面的进行项目的交流与工作的安排,需要通过一定的平台进行多人会话,从而在不同地点对某些问题进行讨论分析。
当前的主流IM工具都实现了多人会话,即讨论组的功能,其讨论组创建方式是:首先由某个客户端组合对应的成员列表到服务器,服务器生成对应的虚拟讨论组并将讨论组信息返回给对应的创建者客户端;当创建者客户端发言的时候,服务器根据讨论组ID查询到对应的成员列表,通过遍历成员列表,得到用户号码标识后查询登陆服务器获取某个成员对应的登陆IP以及端口进行讨论组消息的转发处理,其他成员接收到消息后,根据消息中的讨论组ID利用本地存储模块判断本地是否有对应该讨论组ID的存储结构,如果没有则发送获取讨论组ID对应的讨论组基本信息以及成员列表的协议命令到群组服务器进行拉取并保存到本地文件系统中,这样讨论组的所有成员都可以基于该讨论组进行后续的交流与讨论。
然而,现有IM工具中的讨论组的创建形式过于单一,只能满足一般用户的需求。在实际创建讨论组时,可能存在希望参与讨论的成员不在线或忙碌的情况,这将导致讨论组不能达到预期目的。此外,往往由于临时建立讨论组,使讨论组成员由于没有时间准备,从而影响讨论效果。

发明内容

本发明要解决的技术问题在于,针对上述讨论组在实际创建过程中讨论组成员不在线而影响讨论效果的缺陷,提供一种发起与组建虚拟讨论组的方法及系统。
本发明解决其技术问题所采用的技术方案是:构造一种发起与组建虚拟讨论组的方法,所述讨论组包括有服务器和多个由客户端分别构成的多个成员,包括以下步骤:
(a)客户端生成讨论组创建请求并将所述请求发送到服务器,所述讨论组创建请求包括有讨论组讨论开始时间及成员列表;
(b)服务器根据所述讨论组创建请求生成讨论组记录并将讨论组信息发送到讨论组成员,所述讨论组记录包括有讨论组标识、讨论组成员、讨论组状态以及讨论开始时间,其中讨论组状态设置为预约状态;
(c)所述客户端在达到讨论开始时间时,向服务器发送包含讨论组标识的激活讨论组命令,并由所述服务器根据讨论组标识激活对应讨论组。
在本发明所述的一种发起与组建虚拟讨论组的方法中,所述讨论组创建请求中还包括有讨论主题,所述服务器中的讨论组记录包括有讨论主题,所述讨论组信息中包括有讨论主题。
在本发明所述的一种发起与组建虚拟讨论组的方法中,将讨论组信息发送到讨论组成员在服务器中登记的移动终端。
在本发明所述的一种发起与组建虚拟讨论组的方法中,所述步骤(b)包括:
(b1)所述服务器根据讨论组创建请求生成新的讨论组记录,所述讨论组记录包括有讨论组标识、讨论组成员、讨论组状态以及讨论组开始时间,其中讨论组状态设置为预约状态;
(b2)所述服务器讨论组成员列表中的各个成员的登陆IP以及端口利用消息中心下发讨论组信息到对应的客户端,所述讨论组信息包括讨论组标识、讨论组成员列表、讨论主题以及讨论组开始时间。
在本发明所述的一种发起与组建虚拟讨论组的方法中,所述步骤(c)包括:
(c1)所述讨论组成员所在客户端根据从服务器接收的讨论组信息创建讨论组数据结构,并根据讨论组数据结构中的讨论开始时间判断是否达到讨论开始时间。
在本发明所述的一种发起与组建虚拟讨论组的方法中,所述激活讨论组步骤包括:
如果服务器的讨论组数据表中与所述讨论组标识对应的讨论组处于预约状态,则修改讨论组状态为激活状态,并获取讨论组成员登陆IP与端口从而向讨论组成员下发激活讨论组消息;
成员客户端接收到讨论组激活通知消息后,利用本地存储模块修改该讨论组对应的状态字段为激活状态;
利用聊天窗口管理模块,根据本地存储模块中的讨论组数据结构载入讨论组对应的成员列表,并使用对应的讨论组聊天窗口进行消息的收发。
本发明还提供一种发起与组建虚拟讨论组的系统,包括有服务器和多个由客户端分别构成的多个讨论组成员,所述客户端包括有生成讨论组创建请求并发送所述讨论组创建请求到服务器的预约处理模块、存储服务器返回的讨论组信息的存储单元,所述服务器包括根据讨论组创建请求生成讨论组记录的讨论组创建模块以及激活讨论组的讨论组维护模块,其中所述讨论组记录包括讨论组的标识、讨论组成员、讨论组状态以及讨论开始时间,所述讨论组创建模块在生成讨论组记录时将讨论组状态设置为预约状态,所述讨论组维护模块在激活讨论组时将讨论组状态设置为激活状态,所述客户端包括有在时间达到讨论开始时间时向讨论组维护模块发送激活讨论组指令的检测模块。
在本发明所述的一种发起与组建虚拟讨论组的系统中,所述客户端包括有在时间达到讨论开始时间时向讨论组维护模块发送激活讨论组指令的检测模块。
在本发明所述的一种发起与组建虚拟讨论组的系统中,所述讨论组创建请求中还包括有讨论主题,所述服务器中的讨论组记录包括有讨论主题。
本发明的一种发起与组建虚拟讨论组的方法及系统,通过预约建立讨论组,可使讨论组成员进行充分准备,促进讨论效果。
通过本发明,用户可以在即时通信工具中通过设置讨论主题以及选择多个成员,同时设置讨论开始时间,从而向其他成员发出预约通知,并显示出将要讨论的话题,使讨论组成员有充足的准备时间,从而增强讨论的效果。
此外,本发明采用基于客户端检测逻辑进行讨论开始时间判断,可减少服务器的定时检测的逻辑处理压力。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明一种发起与组建虚拟讨论组的系统的结构示意图;
图2是本发明图1中服务器和客户端的结构示意图;
图3是本发明一种发起与组建虚拟讨论组的方法的流程图;
图4是图3中创建讨论组步骤的流程图。

具体实施方式

如图1所示,在本发明的一种发起与组建虚拟讨论组的系统中,包括有服务器10以及与服务器10连接的多个客户端20。在本实施例中,服务器10用于维护一个讨论组,实现讨论组的预约建立、激活以及讨论组成员间消息的发送;而多个客户端20分别构成了讨论组的多个成员。在客户端20加入讨论组后,即构成了讨论组的成员。当然,服务器10可维护多个讨论组,而客户端20也可加入多个讨论组;服务器10所执行的操作也可分散到多个专用服务器。
上述的服务器10和客户端20可分别为即时通信工具中的服务器和客户端,此外也可以是其他专用会话工具中的服务器和客户端。
如图2所示,为图1中服务器10和客户端20的结构框图。客户端20包括有预约处理模块21、存储单元22,服务器10包括有讨论组创建模块11以及讨论组维护模块12。
预约处理模块21根据输入的讨论组成员以及讨论开始时间(该时间为将来的一个时间)生成讨论组创建请求,并将该讨论组创建请求发送到服务器10的讨论组创建模块11。该预约处理模块21的实现在具体的会话系统中可有不同的实现方式,例如在即时通信工具中可通过窗口相关函数获取设置的成员列表及讨论开始时间,并按照讨论组的协议格式组合用户(创建讨论组成员)标识(ID)、参与讨论的成员标识列表、讨论开始时间到数据包中,处理后利用约定套接字发送到服务器10。此外,为了方便讨论组成员预先知道讨论话题,可在讨论组创建请求中加入讨论话题信息。
讨论组创建模块11用于根据来自客户端20的讨论组创建请求生成讨论组记录,其中讨论组记录包括讨论组的标识(ID)、讨论组成员、讨论组状态以及讨论开始时间,并设置讨论组的状态为预约状态,而讨论组成员及讨论开始时间则根据讨论组创建请求中的信息设置。在生成讨论组记录后,根据讨论组记录的讨论组成员字段中各个成员的登陆IP以及端口,利用消息中心下发讨论组信息到对应的客户端。
存储单元22用于根据服务器10下发的讨论组信息保存为讨论组数据结构,该讨论组数据结构以讨论组ID为关键字。
讨论组维护模块12用于在达到讨论开始时间后激活讨论组,并转发各讨论组成员所在客户端20在讨论过程中的信息交互。在激活讨论组时,讨论组维护模块12将讨论组记录中的状态设置为激活状态,获取所有讨论组成员的登陆IP与端口,并下发激活通知消息到各成员所在客户端20。讨论开始时间的判断可在讨论维护模块12中实现(与系统时间比对)。
为了减轻服务器10的负担(由于服务器10往往需要维护大量的讨论组),可由客户端20进行讨论组讨论开始时间的检测,即在客户端20增加一个检测模块23。该检测模块23在检测到已经达到讨论开始时间,向服务器10发送激活讨论组的指令(该指令中包含讨论组ID)。服务器10的讨论组维护模块12根据激活讨论组的指令判断对应讨论组是否处于预约状态,如果不处于,则返回确认信息到成员客户端;如果对应处于讨论组处于预约状态,则将状态修改为激活状态,同时向所有成员下发激活通知消息,使各成员分别将相关的讨论组数据结构修改为激活状态,并开始收发讨论信息。
如图3所示,是本发明一种发起与组建虚拟讨论组的方法的流程图,其中讨论组包括有服务器和多个由客户端分别构成的多个成员,包括以下步骤:
步骤S31:客户端20根据输入的成员列表和讨论开始时间生成讨论组创建请求,并将该请求发送到服务器10。在即时通信工具中,该步骤的实现可以为:通过窗口相关函数获取设置的成员列表及讨论开始时间,并按照讨论组的协议格式组合用户(创建讨论组成员)标识(ID)、参与讨论的成员标识列表、讨论开始时间到数据包中,处理后利用约定套接字发送到服务器10。此外,为了方便讨论组成员预先知道讨论话题,可在讨论组创建请求中加入讨论话题信息。
步骤S32:服务器10根据讨论组创建请求生成讨论组记录并将创建讨论组信息发送到讨论组成员,该讨论组记录包括有讨论组标识、讨论组成员、讨论组状态以及讨论组开始时间,其中讨论组状态设置为预约状态。为实现有效通知,可将讨论组信息发送到讨论组成员在服务器10中登记的移动终端。
步骤S33:判断是否达到讨论组讨论开始时间。该判断步骤可由服务器10通过比较系统时间与讨论开始时间实现,但为了减轻服务器10的负担,可在客户端20实现。在由客户端20实现讨论开始时间判断时,由讨论组成员所在客户端根据步骤S32中从服务器10接收的讨论组信息中的讨论开始时间判断是否达到讨论开始时间;并在达到讨论开始时间时,向服务器10的讨论组维护模块12发送包含讨论组标识的激活讨论组命令。
步骤S34:若没有达到讨论组开始时间,则等待预定时间后返回步骤S33,再执行下一次判断。
步骤S35:若达到讨论组开始时间,则服务器10激活讨论组。在具体执行时,如果服务器10的讨论组维护模块12修改讨论组状态为激活状态,并获取讨论组成员登陆IP与端口从而向所有讨论组成员下发激活讨论组消息;成员客户端10接收到讨论组激活通知消息后,在本地存储模块修改该讨论组对应的状态字段为激活状态,利用聊天窗口管理模块,根据本地存储模块中的讨论组数据结构载入讨论组对应的成员列表,并使用对应的讨论组聊天窗口进行消息的收发。
如图4所示,是图3中步骤S32的流程图。
步骤S41:在服务器10收到讨论组创建请求后,讨论组创建模块12根据讨论组创建请求生成新的讨论组记录,该讨论组记录包括有讨论组标识、讨论组成员、讨论组状态以及讨论组开始时间,其中讨论组状态设置为预约状态。若讨论组创建请求中包含讨论主题信息,则讨论组创建模块12在生成讨论组记录时也包括对应的讨论主题。
步骤S42:服务器10获取讨论组成员列表中的各个成员的登陆IP以及端口,并利用消息中心下发讨论组信息到对应的客户端,讨论组信息包括讨论组标识、讨论组成员列表以及讨论组开始时间等。若讨论组记录中包括讨论主题,则讨论组信息中也包括讨论主题。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。