向讨论组中指定成员推送历史记录的方法及系统的制作方法

文档序号:7956886阅读:108来源:国知局
专利名称:向讨论组中指定成员推送历史记录的方法及系统的制作方法
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种向讨论组中指定成员推送历史记录的方法及系统。
背景技术
网络即时通信工具(Instant Messenger,IM)已经成为大多数网民所使用的沟通工具,其不仅应用于平时的休闲娱乐,而且在工作中也得到了广泛的使用。因此用户对IM软件的易用性、稳定性、安全性等方面提出了较高的要求。
在用户使用进行沟通的过程中,不但需要进行个人对个人的交互,而且往往需要同时与多个其他用户进行交流与沟通。例如在不同地点工作的同事由于不能在一起面对面的进行项目的交流与工作的安排,需要通过一定的平台进行多人会话,从而在不同地点对某些问题进行讨论分析。
当前的主流IM工具都实现了多人会话,即讨论组的功能,任何IM用户都可以邀请多个好友对某些问题进行讨论,例如后续工作安排、项目进度安排等。通常这些IM工具由发起讨论的IM用户与IM服务器之间协商生成对应的讨论组实体,由IM服务器来控制讨论组成员之间消息的发送与接收。
然而,上述讨论组中的成员并不是在讨论组创建时同时添加的,经常在讨论的过程中需要再添加其他的某个成员进入讨论组,而该新加入讨论组的成员可能对原讨论组中所讨论的问题以及某些结论并不了解,此时需要讨论组的某些成员从IM工具的消息管理器中查找历史消息记录,然后在讨论组聊天窗口中拷贝粘贴再发送原来的消息记录,这样新加入的成员才可以看到已经讨论过的问题以及相关的一些结论。
在上述方案中,为使新加入成员了解讨论组议题,需其他成员查找到对应的讨论组的历史记录并挑选历史记录发送给新成员。这个过程不仅费时费力,而且将会占用讨论组聊天窗口,并有可能打断讨论组中的当前议题。

发明内容
本发明要解决的技术问题在于,针对上述现有IM工具在讨论组新加入成员时需要转发历史记录从而造成使用不便和打断议题的缺陷,提供一种向讨论组中指定成员推送历史记录的方法及系统。
本发明解决其技术问题所采用的技术方案是构造一种向讨论组中指定成员推送历史记录的方法,所述讨论组包括有服务器和多个由客户端分别构成的多个成员,包括以下步骤(a)讨论组成员触发历史记录推送命令后通过历史记录推送模块获取指定的时间段并从本地存储单元获取所述指定成员的标识;(b)历史记录推送模块从当前成员本地存储单元获取指定时间段内的讨论组交流信息历史记录并经由服务器发送到指定成员。
在本发明所述的向讨论组中指定成员推送历史记录的方法中,所述指定成员为新加入讨论组的成员,在步骤(a)之前包括有服务器根据讨论组已有成员的添加新成员消息将新成员添加到讨论组中的步骤。
在本发明所述的向讨论组中指定成员推送历史记录的方法中,所述添加新成员步骤包括所述服务器接收来自讨论组已有成员的添加新成员消息,所述消息包括有发送请求成员的标识、待加入讨论组的标识以及待添加成员标识;所述服务器根据发送消息成员标识和待加入讨论组标识有效后,将待添加成员标识添加到对应的讨论组数据表中;所述服务器根据讨论组数据表将包含新加入成员标识以及加入时间的消息发送到讨论组所有成员。
在本发明所述的向讨论组中指定成员推送历史记录的方法中,所述指定时间段为指定成员加入讨论组之前的时间段,所述步骤(a)包括通过历史记录推送模块从本地存储模块获取指定成员加入讨论组的时间的步骤。
在本发明所述的向讨论组中指定成员推送历史记录的方法中,所述步骤(b)中包括有接收输入的选择播放历史记录条件的步骤。
在本发明所述的向讨论组中指定成员推送历史记录的方法中,所述步骤(b)包括(b1)所述历史记录推送模块建立需要回放的讨论组历史记录数组列表;(b2)所述历史记录推送模块遍历本地存储模块中当前讨论组的所有交流信息历史记录,并将指定时间段内的历史记录置于所述需要回放的讨论组历史记录数组列表中;(b3)所述历史记录推送模块经由服务器将需要回放的讨论组历史记录数组列表中的数据发送到指定成员。
在本发明所述的向讨论组中指定成员推送历史记录的方法中,在所述步骤(b3)包括(b31)所述历史记录推送模块按照服务器转发讨论组的消息的最长消息长度,对回放讨论组聊天记录数组列表进行分段处理,并循环组合每段的历史记录、指定成员标识以及讨论组标识到数据包中发送到服务器。
(b32)服务器接收到每一段的数据包后,分别将数据包的转发到指定的讨论组成员。
本发明还提供一种向讨论组中指定成员推送历史记录的系统,所述讨论组包括有服务器和多个由客户端分别构成的多个成员,所述成员包括有存储讨论组交流信息历史记录的本地存储模块以及将讨论组本地存储模块中历史记录发送到指定成员的历史记录推送模块,所述历史记录推送模块从所述本地存储单元获取指定时间段内的讨论组交流信息历史记录并经由服务器发送到指定成员。
在本发明所述的向讨论组中指定成员推送历史记录的系统中,所述服务器为每一个讨论组维护一个讨论组数据表,每一个讨论组数据表包括讨论组的标识以、讨论组所有成员的标识,所述服务器在添加新成员后向讨论组数据表中所有成员发送添加的新成员标识、加入时间。
在本发明所述的向讨论组中指定成员推送历史记录的系统中,所述成员还包括有用于向讨论组添加新成员的成员添加模块,所述成员添加模块生成添加新成员消息并发送到服务器。
在本发明所述的向讨论组中指定成员推送历史记录的系统中,所速历史记录推送模块接收输入的条件并根据所述输入条件向指定成员推送指定的交流信息历史记录。
本发明的向讨论组中指定成员推送历史记录的方法及系统,通过从本地存储模块获取交流信息历史记录并向指定成员推送,避免了复制讨论组历史记录到讨论组交互窗口的繁琐操作。本发明还可在加入新成员时避免讨论组议题被打断。


下面将结合附图及实施例对本发明作进一步说明,附图中图1是本发明向讨论组中指定成员推送历史记录的系统中讨论组的结构示意图;图2是本发明的向讨论组中指定成员推送历史记录的系统的结构示意图;图3是本发明的向讨论组中指定成员推送历史记录的方法的流程图;图4是图3中回放历史记录步骤的流程图。
具体实施例方式
如图1所示,在本发明的向讨论组中指定成员推送历史记录的系统中,包括有服务器10以及与服务器10连接的多个客户端20。在本实施例中,服务器10用于维护一个讨论组,实现讨论组的建立、讨论组成员的添加以及讨论组成员间消息的发送;而多个客户端20分别构成了讨论组的多个成员。在客户端20加入讨论组后,即构成了讨论组的成员。当然,服务器10可维护多个讨论组,而客户端20也可加入多个讨论组。
上述的服务器10和客户端20可分别为即时通信工具中的服务器和客户端,此外也可以是其他专用会话工具中的服务器和客户端。
如图2所示,为图1中服务器10和客户端20的结构框图。
服务器10为每一个讨论组维护一个讨论组数据表11,每一个讨论组数据表11包括讨论组的标识(ID)以及该讨论组所有成员的标识(ID)。在创建讨论组时,服务器10为讨论组生成一个讨论组标识以及与讨论组标识对应的讨论组数据表11,并在讨论组数据表11中记录该讨论组的成员的标识。在向讨论组添加成员时,服务器10根据来自讨论组成员的添加请求,将需要添加的用户标识添加到对应的讨论组数据表11,并在添加成功后向讨论组数据表11中记录的所有成员发送添加新成员成功消息。在本实施例中,添加新成员成功消息包括有讨论组标识、新成员标识、新成员加入时间等信息。
作为讨论组成员的客户端20包括有历史记录推送模块21、成员添加模块22、讨论组交流模块23以及本地存储模块24。
讨论组交流模块23用于为使用客户端20的用户提供窗口,将在本客户端输入的交流信息经由服务器10发送到讨论组其他成员,并显示来自讨论组成员的交流信息。
本地存储模块24用于存储讨论组交流过程中各成员的交流信息,以及讨论组中每一成员的标识以及成员加入时间。在本实施例中,本地存储模块24中的交流信息都对应有获得该交流信息的时间。
成员添加模块22用于生成添加新成员消息,并将该消息发送到服务器10。在本实施例中,添加新成员消息包括有当前成员的标识、讨论组标识以及待添加成员的标识等。
历史记录推送模块21用于从本地存储模块24中获取讨论组交流信息的历史记录,并从中取出符合要求的历史记录经由服务器10发送讨论组指定成员。在本实施例中,历史记录推送模块21从本地存储模块24获取指定成员在加入讨论组之前的历史记录。
此外,历史记录推送模块21也可获取指定之间段内的历史记录向新成员推送。当然,历史记录推送模块21也可在新成员加入时自动将交流信息历史记录经由服务器10发送到新加入成员,并由新加入的成员保存到其本地存储模块24。历史记录推送模块21还可接收输入的条件,从而根据输入条件有选择地向指定的成员推送交流信息历史记录,例如只发送特定成员的历史记录、指定时间段内的历史记录等。
如图3所示,是本发明实现多人会话的方法的流程图。本发明的方法用于向讨论组中添加新成员,所述讨论组包括有服务器和多个由客户端构成的成员,其包括以下步骤步骤S31其中一个客户端20向服务器10发送创建讨论组的消息建立对应的讨论组。该步骤与现有即时通信工具创建讨论组的过程类似,具体包括客户端20通过发送用户标识以及密码信息到服务器10验证,并在成功登录后邀请多个好友,生成创建讨论组的消息到服务器10,该请求中包括有讨论组成员的标识;服务器10异步接收到客户端20发送的创建讨论组请求后,对消息进行解密以及解析处理,并根据解析出的用户标识创建讨论组(生成对应的讨论组数据表),并返回包含讨论组标识的消息给客户端20;客户端接收到服务器20返回的消息后发送验证讨论组的协议命令,服务器20返回成功后,将包含所有需添加到讨论组的成员的标识、讨论组标识以及创建讨论组成员的标识的添加讨论组成员消息到服务器10;服务器10解析出消息中的所有需添加到讨论组的成员的标识、讨论组标识以及创建讨论组成员的标识,在确认用户为讨论组成员,则将所有需添加到讨论组的成员的标识添加到讨论组数据表,同时根据当前时间写入增加成员加入讨论组的时间,然后返回成功添加协议命令给客户端。
当然上述的步骤S31也可以是任意现有的创建讨论组的方法,或者现有创建讨论组方法的改进。
步骤S32讨论组的成员通过服务器10进行交流信息的发送、接收、显示以及存储历史记录。该步骤也与现有即时通信工具创建讨论组的过程类似,具体包括讨论组成员通过交互窗口组合交流信息、讨论组标识以及成员标识到数据包后发送到服务器10,服务器10根据讨论组标识查询讨论组数据表获取讨论组的成员标识列表,查询对应每个成员标识的登录服务器10的登录IP地址以及端口号后,组合交流信息到数据包后进行下发;讨论组所有成员接收服务器10下发的讨论组交流信息,解析出数据包中的讨论组标识、发送交流信息的成员标识以及交流消息,如果发送消息的成员标识与自己的标识一致,则不需要显示该消息(也可在该情况下显示该消息),并利用本地存储模块24将交流信息保存为历史记录;步骤S33在讨论组的已有成员需要添加新成员时,该已有成员发送添加新成员消息到服务器10,服务器10在添加新成员后将新成员加入讨论组消息发送到讨论组中各个已有成员。该步骤也与现有即时通信工具创建讨论组的过程类似,具体包括当讨论组某个成员需要添加一个新的用户到讨论组的时候,该成员对应的客户端将包括讨论组标识、待添加用户标识以及自身标识的添加新成员消息发送到服务器10;服务器10异步接收添加新成员消息,解析出消息中的成员号码、讨论组标识,在确定成员为讨论组的有效成员后提取出待添加用户号码,获取当前服务器时间并写入讨论组数据表11中对应字段;服务器10根据讨论组数据表11,得到讨论组当前的成员标识列表,进行新成员加入讨论组消息的推送,该消息包含讨论组标识、新成员标识以及该成员的加入时间信息等,各成员在接收到来自服务器10的新成员加入讨论组消息后将新成员标识以及该成员的加入时间信息等存储到各自的本地存储模块24。
步骤S34在客户端20判断是否需要向讨论组新成员(或指定成员)推送讨论组交流信息的历史记录。在本实施例中,讨论组成员可通过点击特定按钮推送浏览历史记录的消息。若不需推送历史记录,则返回步骤S32。
步骤S35若需推送交流信息历史记录,则利用历史记录推送模块21进行交流信息历史记录的回放(详见图4)。
以上的步骤S32、步骤S33及步骤S34的顺序并非局限于图3所示,其中步骤S33和步骤S34可在创建讨论组后的任意时间发生。
如图4所示,是图2中历史记录回放的流程图。
步骤S41讨论组成员(通常为创建讨论组的成员或添加新成员的成员,当然也可以是讨论组中的任意成员,以下简称当前成员)需要为新加入成员(或指定成员)提供交流信息历史记录时(可通过点击类似于“回放历史消息”按钮等启动),该当前成员利用讨论组标识查询其本地存储模块24获取新成员标识以及加入讨论组的时间。
步骤S42当前成员利用其本地存储模块24通过讨论组标识获取对应该讨论组的所有交流信息历史记录,同时建立需要回放的讨论组历史记录数组列表。
步骤S43当前成员遍历本地存储模块24中对应该讨论组的所有历史记录,提取出每条信息的时间字段,判断新成员加入讨论组的时间字段是否大于该历史记录的时间字段,如果大于则将该历史记录加入需要回放的讨论组历史记录数组列表中,直到遍历完所有的聊天记录。
步骤S44当前成员按照服务器10转发讨论组的消息的最长消息长度,对回放讨论组聊天记录数组列表进行分段处理,并循环组合每段的历史记录、新成员标识以及讨论组标识到数据包中发送到服务器10。
步骤S45服务器10接收到每一段的数据包后,分别进行数据包的转发处理,讨论组新加入成员则可以接收到在加入讨论组之前所有的交流信息历史记录。
当然,向新成员推送交流信息历史记录的操作也可以在新成员加入时自动执行。讨论组创建成员或添加新成员的成员在新成员加入讨论组后,主动将讨论组交流信息的历史记录推送到新成员,并存入新成员的本地存储单元24,在新成员需要浏览历史记录时可直接在其本地存储模块24获取。
此外,在步骤S41中,也可指定时间段,从而在后续步骤中将指定时间段内的交流信息历史记录推送到新成员。还可在步骤S41中接收输入条件,从而根据输入条件有选择地向指定的成员推送特定交流信息历史记录,例如只发送特定成员的历史记录、指定时间段内的历史记录等。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种向讨论组中指定成员推送历史记录的方法,所述讨论组包括有服务器和多个由客户端分别构成的多个成员,其特征在于,包括以下步骤(a)讨论组成员触发历史记录推送命令后通过历史记录推送模块获取指定的时间段并从本地存储单元获取所述指定成员的标识;(b)历史记录推送模块从当前成员本地存储单元获取指定时间段内的讨论组交流信息历史记录并经由服务器发送到指定成员。
2.根据权利要求1所述的向讨论组中指定成员推送历史记录的方法,其特征在于,所述指定成员为新加入讨论组的成员,在步骤(a)之前包括有服务器根据讨论组已有成员的添加新成员消息将新成员添加到讨论组中的步骤。
3.根据权利要求2所述的向讨论组中指定成员推送历史记录的方法,其特征在于,所述添加新成员步骤包括所述服务器接收来自讨论组已有成员的添加新成员消息,所述消息包括有发送请求成员的标识、待加入讨论组的标识以及待添加成员标识;所述服务器根据发送消息成员标识和待加入讨论组标识有效后,将待添加成员标识添加到对应的讨论组数据表中;所述服务器根据讨论组数据表将包含新加入成员标识以及加入时间的消息发送到讨论组所有成员。
4.根据权利要求1所述的向讨论组中指定成员推送历史记录的方法,其特征在于,所述指定时间段为指定成员加入讨论组之前的时间段,所述步骤(a)包括通过历史记录推送模块从本地存储模块获取指定成员加入讨论组的时间的步骤。
5.根据权利要求1所述的向讨论组中指定成员推送历史记录的方法,其特征在于,所述步骤(b)中包括有接收输入的选择播放历史记录条件的步骤。
6.根据权利要求1所述的向讨论组中指定成员推送历史记录的方法,其特征在于,所述步骤(b)包括(b1)所述历史记录推送模块建立需要回放的讨论组历史记录数组列表;(b2)所述历史记录推送模块遍历本地存储模块中当前讨论组的所有交流信息历史记录,并将指定时间段内的历史记录置于所述需要回放的讨论组历史记录数组列表中;(b3)所述历史记录推送模块经由服务器将需要回放的讨论组历史记录数组列表中的数据发送到指定成员。
7.根据权利要求6所述的向讨论组中指定成员推送历史记录的方法,其特征在于,在所述步骤(b3)包括(b31)所述历史记录推送模块按照服务器转发讨论组的消息的最长消息长度,对回放讨论组聊天记录数组列表进行分段处理,并循环组合每段的历史记录、指定成员标识以及讨论组标识到数据包中发送到服务器。(b32)服务器接收到每一段的数据包后,分别将数据包的转发到指定的讨论组成员。
8.一种向讨论组中指定成员推送历史记录的系统,所述讨论组包括有服务器和多个由客户端分别构成的多个成员,其特征在于,所述成员包括有存储讨论组交流信息历史记录的本地存储模块以及将讨论组本地存储模块中历史记录发送到指定成员的历史记录推送模块,所述历史记录推送模块从所述本地存储单元获取指定时间段内的讨论组交流信息历史记录并经由服务器发送到指定成员。
9.根据权利要求8所述的向讨论组中指定成员推送历史记录的系统,其特征在于,所述服务器为每一个讨论组维护一个讨论组数据表,每一个讨论组数据表包括讨论组的标识以、讨论组所有成员的标识,所述服务器在添加新成员后向讨论组数据表中所有成员发送添加的新成员标识、加入时间。
10.根据权利要求8所述的向讨论组中指定成员推送历史记录的系统,其特征在于,所述成员还包括有用于向讨论组添加新成员的成员添加模块,所述成员添加模块生成添加新成员消息并发送到服务器。
11.根据权利要求8所述的向讨论组中指定成员推送历史记录的系统,所速历史记录推送模块接收输入的条件并根据所述输入条件向指定成员推送指定的交流信息历史记录。
全文摘要
本发明公开了一种向讨论组中指定成员推送历史记录的方法,所述讨论组包括有服务器和多个由客户端分别构成的多个成员,包括以下步骤(a)讨论组成员触发历史记录推送命令后通过历史记录推送模块获取指定的时间段并从本地存储单元获取所述指定成员的标识;(b)历史记录推送模块从当前成员本地存储单元获取指定时间段内的讨论组交流信息历史记录并经由服务器发送到指定成员。本发明还公开了一种对应的向讨论组中指定成员推送历史记录的系统。本发明通过从本地存储模块获取交流信息历史记录并向指定成员推送,避免了复制讨论组历史记录到讨论组交互窗口的繁琐操作。
文档编号H04L12/58GK101056188SQ20061006024
公开日2007年10月17日 申请日期2006年4月10日 优先权日2006年4月10日
发明者李斌 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1