一种实现多窗口聊天的方法及系统的制作方法

文档序号:7889630阅读:199来源:国知局
专利名称:一种实现多窗口聊天的方法及系统的制作方法
技术领域
本发明属于即时通信领域,尤其涉及一种实现多窗口聊天的方法及系统。
背景技术
随着网络化社会的不断进步,越来越多的网络通讯工具应用到工作和生活中,比如飞信、MSN、QQ等。在各种通信应用工具中,由于网页版即时通讯不需安装软件,使用便捷, 受到了人们的青睐。在网页版即时通讯的日常应用中,当实现多个浏览器窗口聊天时具有一定的局限性。在现有技术中,部分网页版通讯不支持多浏览器窗口聊天,比如在窗口 I登陆了账号后,再在窗口 2登陆同一账号,窗口 I的账号会被强迫下线。或者网页版即时通讯支持多浏览器窗口聊天,但每个窗口都与服务器建立了一个连接,造成了服务器资源的浪费。在合理利用资源的前提下,如何实现多浏览器窗口下聊天,提高用户使用的便捷度,成为需要解决的问题。

发明内容
本发明提供一种实现多窗口聊天的方法及系统以解决上述问题。本发明提供一种实现多窗口聊天的方法,包括以下步骤。服务器建立与客户端之间的至少一个与用户窗口相对应的连接。所述服务器建立与所述客户端的一个新连接,或所述客户端由前一连接切换到目标连接后,所述服务器计算前一连接的活跃度并根据所述活跃度设定前一连接的状态。若所述服务器在任一睡眠连接的睡眠时间内接收到所述客户端发送的所述睡眠连接的激活请求,所述服务器激活所述睡眠连接并计算所述新连接或目标连接的活跃度,所述服务器根据所述新连接或目标连接的活跃度分别设定所述新连接或目标连接的状态。本发明提供一种实现多窗口聊天的系统,包括客户端和服务器,所述客户端连接所述服务器,所述服务器包括接收器、计算器及处理器,所述接收器连接所述计算器,所述计算器连接所述处理器。所述接收器,用于建立与客户端之间的至少一个与用户窗口相对应的连接。所述计算器,用于所述接收器建立与所述客户端的新连接后,或所述客户端由前一连接切换到目标连接后,计算前一连接的活跃度并根据所述活跃度设定前一连接的状态。所述处理器,用于若在任一睡眠连接的睡眠时间内接收到所述客户端发送的所述睡眠连接的激活请求,激活所述睡眠连接,于所述处理器激活所述睡眠连接后,所述计算器计算所述新连接或目标连接的活跃度,并根据所述新连接或目标连接的活跃度分别设定所述新连接或目标连接的状态。相较于先前技术,根据本发明提供的实现多窗口聊天的方法及系统,当客户端与服务器建立至少一个连接后再建立一个新连接,或客户端从前一连接切换到目标连接时, 服务器计算前一连接的活跃度并设定前一连接为睡眠或断开状态,且通过对睡眠连接设定睡眠时间,实现了多窗口聊天功能。而且,可以在睡眠连接的睡眠时间内激活所述睡眠连接,并计算所述新连接或目标连接的活跃度并设定所述新连接或目标连接的状态。实现了CN 102594731 A
多窗口下聊天功能的同时,降低了服务器的资源使用率。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I所示为根据本发明的较佳实施例提供的实现多窗口聊天的方法的流程图;图2所示为根据本发明的较佳实施例提供的实现多窗口聊天的系统的示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图I所示为根据本发明的较佳实施例提供的实现多窗口聊天的方法的流程图。如图I所示,本发明的较佳实施例提供的实现多窗口聊天的方法包括步骤101 103。步骤101 :服务器建立与客户端之间的至少一个与用户窗口相对应的连接。具体而言,用户在客户端打开第一个浏览器窗口登录后,客户端向服务器发起连接请求,所述服务器修改所述用户的状态为在线后获取所述用户的在线好友信息,并建立与所述客户端的第一个浏览器窗口对应的第一个连接。例如,用户打开视频会议系统的页面WWW. ppmeet. com并首次登录,服务器验证用户名密码成功后,修改用户状态为在线并获取所述用户的在线好友信息,服务器成功建立与客户端的第一个连接。于此,服务器向所述客户端的第一个浏览器窗口返回用户的在线好友信息,并向所述用户的在线好友发送用户上线通知。同样地,服务器可以接收所述客户端的第二个连接请求并建立第二个连接,或者建立与客户端的多个连接。步骤102 :所述服务器建立与所述客户端的一个新连接,或所述客户端由前一连接切换到目标连接后,所述服务器计算前一连接的活跃度并根据所述活跃度设定前一连接的状态。具体而言,按照步骤101,当服务器与客户端保持第一个连接并再次建立新连接时,此时服务器与客户端存在两个或两个以上连接,则服务器建立所述新连接后,计算最近的前一连接的活跃度并根据所述活跃度设定所述前一连接的状态。其中,服务器建立与客户端的所述新连接后,客户端从浏览器缓存中获取所述用户在线好友信息。另外,若客户端在与服务器已建立的多个连接之间进行切换,S卩,当客户端从前一连接切换到目标连接时,服务器计算前一连接的活跃度并根据前一连接的活跃度设定前一连接的状态。其中,服务器切换至目标连接后,客户端从浏览器缓存中获取所述用户在线好友信息。所述活跃度由连接的连接时长、所述连接时长内所述连接的消息数量及数据流量决定。此外,服务器中预存活跃度与睡眠时间的对照表,所述服务器根据所述对照表确定连接是否达到睡眠要求,若所述连接未达到睡眠要求,服务器断开所述连接。所述活跃度与睡眠时间的对照表例如下表所示。
活跃度睡眠时间
4活跃度> O. 51800 秒O. 3 <活跃度<=O. 51200 秒O. 15 <活跃度<=O. 3600秒O. 01 <活跃度<=O. 15300秒活跃度<=O. 01不睡眠,直接断开连接其中,所述活跃度根据连接时长有不同的计算方式。即,连接时长小于1800秒时, 活跃度=(连接时长内的消息数+连接时长内的数据流量*10)/连接时长;连接时长大于等于1800秒时,活跃度=(1800秒内消息数+1800秒内数据流量*10)/1800。于本实施例中,所述1800秒内消息数及1800秒内数据流量,为开始计算活跃度的时刻之前1800秒内的消息数及数据流量。于其他实施例中,所述1800秒内消息数及1800秒内数据流量,也可以为连接时长内每1800秒的消息数平均值及数据流量平均值。所述消息数及数据流量的取值方法,可以根据实际应用进行设置,对此本发明并不作限定。例如,用户在10点打开第一个浏览器窗口并登录聊天系统,于11点打开第二个浏览器窗口。其中10点30分至11点之间用户发送和接收的消息总数为500条、所述消息的流量大小为O. 5M、视频聊天产生的数据流量为50M。第一个连接的连接时长为3600秒,则第一个连接的活跃度按照连接时长大于等于1800秒时的方法进行计算,计算方法中的1800 秒,即10点30分至11点,所述活跃度为(500+(50+0. 5)*10)/1800 = O. 56。按照上表所示,第一个连接的活跃度大于O. 5,则服务器设置第一个连接睡眠时间为1800秒。步骤103 :若所述服务器在任一睡眠连接的睡眠时间内接收到所述客户端发送的所述睡眠连接的激活请求,所述服务器激活所述睡眠连接并计算所述新连接或目标连接的活跃度,所述服务器根据所述新连接或目标连接的活跃度分别设定所述新连接或目标连接的状态。具体而言,若服务器在睡眠连接的睡眠时间内没有接收到客户端发送的所述睡眠连接的激活请求,则服务器断开所述睡眠连接。若客户端超过所述睡眠连接的睡眠时间后向所述服务器发送该睡眠连接的激活请求,所述服务器接收到所述激活请求后重新建立与所述客户端的新连接。按照步骤102的示例,服务器将第一个连接置为睡眠且睡眠时间为1800秒,若服务器在1800秒内接收到客户端发送的第一个连接的激活请求,服务器激活第一个连接并开始计算第二个连接的活跃度,根据第二个连接的活跃度设定第二个连接的睡眠时间。若在第一个连接开始睡眠后的第1809秒,客户端向服务器发送第一个连接的激活请求,此时,服务器已断开第一个连接,服务器需要建立与客户端的新连接,即第三个连接,并计算第二个连接的活跃度,根据第二个连接的活跃度设定第二个连接的睡眠时间。如上所述,当客户端与服务器之间同时存在多个连接时,服务器仅使客户端当前激活的窗口存在正常的连接,其余非激活的窗口所对应的连接为睡眠或断开状态。图2所示为根据本发明的较佳实施例提供的实现多窗口聊天的系统的示意图。如图2所示,本发明的较佳实施例提供的实现多窗口聊天的系统包括客户端I和服务器2,所述客户端I连接所述服务器2,所述服务器2包括接收器21、计算器22及处理器23,所述接收器21连接所述计算器22,所述计算器22连接所述处理器23。所述接收器21,用于建立与客户端I之间的至少一个与用户窗口相对应的连接。所述计算器22,用于所述接收器 21建立与所述客户端I的新连接后,或所述客户端I由前一连接切换到目标连接后,计算前一连接的活跃度并根据所述活跃度设定前一连接的状态。所述处理器23,用于若在任一睡眠连接的睡眠时间内接收到所述客户端I发送的所述睡眠连接的激活请求,激活所述睡眠连接,于所述处理器23激活所述睡眠连接后,所述计算器22计算所述新连接或目标连接的活跃度,并根据所述新连接或目标连接的活跃度分别设定所述新连接或目标连接的状态。 上述系统的活跃度计算方法及连接状态设定方法与本发明提供的方法相同,故于此不再赘述。综上所述,根据本发明较佳实施例提供的实现多窗口聊天的方法及系统,当服务器建立与客户端的新连接或客户端从前一连接切换到目标连接时,服务器计算前一连接的活跃度并设定前一连接的状态,且当连接为睡眠状态时设定睡眠时间。另外,若服务器在任何一个睡眠连接的睡眠时间内接收到客户端发送的该睡眠连接的激活请求,激活该睡眠连接。若服务器在所述睡眠时间内没有接收到客户端的激活请求,断开该睡眠连接;当超过所述睡眠连接的睡眠时间后,客户端再次向服务器发起连接建立的请求,服务器建立新的连接,并计算前一连接的活跃度及设定前一连接的状态。服务器通过对非激活连接睡眠时间的计算,保持了仅激活窗口存在正常的连接,实现了多窗口聊天功能,且有效避免了服务器资源的浪费。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现多窗口聊天的方法,其特征在于,包括以下步骤服务器建立与客户端之间的至少一个与用户窗口相对应的连接;所述服务器建立与所述客户端的一个新连接,或所述客户端由前一连接切换到目标连接后,所述服务器计算前一连接的活跃度并根据所述活跃度设定前一连接的状态;若所述服务器在任一睡眠连接的睡眠时间内接收到所述客户端发送的所述睡眠连接的激活请求,所述服务器激活所述睡眠连接并计算所述新连接或目标连接的活跃度,所述服务器根据所述新连接或目标连接的活跃度分别设定所述新连接或目标连接的状态。
2.根据权利要求I所述的方法,其特征在于,所述服务器接收所述客户端的第一个连接请求并建立与所述客户端的第一个连接,接收所述客户端的第二个连接请求并建立第二个连接后,所述服务器计算所述第一个连接的活跃度并根据所述活跃度设定第一个连接的状态。
3.根据权利要求2所述的方法,其特征在于,若所述服务器将第一个连接设为睡眠状态,且在所述第一个连接的睡眠时间内没有接收到客户端发送的所述第一个连接的激活请求,所述服务器断开所述第一个连接。
4.根据权利要求2所述的方法,其特征在于,若所述服务器将第一个连接设为睡眠状态,所述客户端超过所述第一个连接的睡眠时间后向所述服务器发送所述第一个连接的激活请求,所述服务器接收到所述激活请求后重新建立与所述客户端的新连接。
5.根据权利要求I所述的方法,其特征在于,所述活跃度由连接的连接时长、所述连接时长内所述连接的消息数量及数据流量决定。
6.根据权利要求I所述的方法,其特征在于,所述服务器预存活跃度与睡眠时间的对照表,所述服务器根据所述对照表设定所述连接状态,若所述连接未达到所述睡眠要求,所述服务器断开所述连接。
7.根据权利要求I或2所述的方法,其特征在于,所述服务器建立与所述客户端的第一个连接后,所述服务器将所述用户的在线好友信息返回给所述客户端,所述服务器建立与所述客户端其它连接后,所述客户端从浏览器缓存中获取所述用户在线好友信息。
8.一种实现多窗口聊天的系统,其特征在于,包括客户端和服务器,所述客户端连接所述服务器,所述服务器包括接收器、计算器及处理器,所述接收器连接所述计算器,所述计算器连接所述处理器,所述接收器,用于建立与客户端之间的至少一个与用户窗口相对应的连接;所述计算器,用于所述接收器建立与所述客户端的新连接后,或所述客户端由前一连接切换到目标连接后,计算前一连接的活跃度并根据所述活跃度设定前一连接的状态;所述处理器,用于若在任一睡眠连接的睡眠时间内接收到所述客户端发送的所述睡眠连接的激活请求,激活所述睡眠连接,于所述处理器激活所述睡眠连接后,所述计算器计算所述新连接或目标连接的活跃度,并根据所述新连接或目标连接的活跃度分别设定所述新连接或目标连接的状态。
全文摘要
本发明提供一种实现多窗口聊天的方法及系统,本发明方法包括以下步骤。服务器建立与客户端之间的至少一个与用户窗口相对应的连接。所述服务器建立与所述客户端的一个新连接,或所述客户端由前一连接切换到目标连接后,所述服务器计算前一连接的活跃度并根据所述活跃度设定前一连接的状态。若所述服务器在任一睡眠连接的睡眠时间内接收到所述客户端发送的所述睡眠连接的激活请求,所述服务器激活所述睡眠连接并计算所述新连接或目标连接的活跃度,所述服务器根据所述新连接或目标连接的活跃度分别设定所述新连接或目标连接的状态。
文档编号H04L12/18GK102594731SQ201210036148
公开日2012年7月18日 申请日期2012年2月17日 优先权日2012年2月17日
发明者胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1