专利名称:一种网页即时通讯方法
技术领域:
本发明涉及一种网页即时通讯方法,尤其涉及一种基于HTTP协议的网页即时通讯方法。
背景技术:
基于HTTP协议的网页即时通讯,对于消息的接收,先后出现过三种技术方案,第一种是“简单轮询”,通过不停的向服务器发出请求来获得消息,缺点是信息不能真正达到即时,而且造成很多无用的请求次数。第二种是“长轮询”,当客户端(即浏览器)向服务器发出请求后如果没有期待的消息,连接不会马上断开,而是会持续30秒乃至更长的时间,而当收到消息后,会马上断开,然后建立一个新的连接,缺点是会长时间占用跟服务器的一个连接线程,且消息发送频繁时,跟简单轮询实质上没有差别。第三种是Coment流,其特点在于HTTP请求长时间不断开,服务器可以不停的向客户端推送消息,缺点是每个客户端都要独占线程,使得独占线程数过多。·
发明内容
本发明的目的在于,提供一种网页即时通讯方法,该方法能够克服传统网页即时通讯无用请求次数过多和独占线程数过多的缺点,合理分配和使用服务器端资源(请求数和独占线程数),提高网页即时通讯效率。为解决上述技术问题,本发明提供的技术方案如下一种网页即时通讯方法通过在服务器端设置通讯频率模块来判断客户端与服务器端通讯频率的大小,然后服务器端根据客户端与服务器端的通讯频率的大小动态的给客户端分配服务器资源。前述的网页即时通讯方法中,所述的判断客户端与服务器端的通讯频率,是判断客户端与服务器端的通讯频率是否超过服务器端的给定阈值。前述的网页即时通讯方法中,所述的动态的给客户端分配服务器资源,是服务器端根据客户端与服务器端的通讯频率是否超过服务器端的给定阈值,选择Comment流方式与客户端通讯或者选择长轮询方式与客户端通讯。前述的网页即时通讯方法中,所述的通讯频率模块前还设置计时模块在一定时间后重新计时来优化通讯频率模块对客户端与服务器端的通讯频率大小的判断。前述的网页即时通讯方法中,所述的通讯频率模块和计时模块之间还设置次数判断模块判断客户端与服务器端的通讯次数。前述的网页即时通讯方法中,所述的次数判断模块用于判断服务器端和客户端的通讯次数,当服务器端和客户端的通讯次数少于5次时,服务器端跳过通讯频率模块,直接选择长轮询方式与客户端通讯。前述的网页即时通讯方法中,所述的客户端与服务器端的通讯频率,指的是有效的通讯次数与时间的比值;服务器端根据服务器条件和用户行为特点设定阈值。与现有技术相比,本发明采用上述技术方案,在服务器端设置通讯频率模块来判断客户端与服务器端通讯频率的大小,然后服务器端根据客户端与服务器端的通讯频率的大小动态的给客户端分配服务器资源,能够克服传统网页即时通讯无用请求次数过多和独占线程数过多的缺点;本发明能够根据服务器条件和用户行为特点自动动态的分配服务器资源,若100个用户同时在线,用户的通讯频率在I次每秒以上计算,则一分钟内可减少3000次以上的请求,减少不必要的请求对服务器的占用,服务器使用效率能提高10%,从而提高了 20%。网页即时通讯的效率。
图I是本发明的流程图。下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依 据。
具体实施例方式实施例I。一种网页即时通讯方法,通过在服务器端设置通讯频率模块来判断客户端与服务器端通讯频率的大小,然后服务器端根据客户端与服务器端的通讯频率的大小动态的给客户端分配服务器资源。判断客户端与服务器端的通讯频率,是判断客户端与服务器端的通讯频率是否超过服务器端的给定阈值。动态的给客户端分配服务器资源,是服务器端根据客户端与服务器端的通讯频率是否超过服务器端的给定阈值,选择Comment流方式与客户端通讯或者选择长轮询方式与客户端通讯。通讯频率模块前还设置计时模块在一定时间后重新计时来优化通讯频率模块对客户端与服务器端的通讯频率大小的判断。通讯频率模块和计时模块之间还设置次数判断模块判断客户端与服务器端的通讯次数。具体使用时,如图I所示,客户端进入网页后建立一个对服务器的异步请求,并一直保持连接。当有消息发生时,如果推送次数少于5次,则服务器端选择长轮询方式与客户端通讯,以避免在第一条消息发出后比值误差过大的问题;如果推送次数大于5次,服务器端在推送前判断其“通讯频率”,即服务器消息推送的次数与用户在线时间的比值,在线时间以秒为单位,如果“通讯频率”大于阈值,则服务器端选择Coment流方式与客户端通讯;否则进入长轮询的分支,服务器每推送一次消息前必须重新计算通讯频率。另外为了优化“通讯频率”的计算,每隔一段时间(以5分钟左右为宜)进行重新计时。通过这种动态配置的方法,当用户通讯频率高时,就会通过Coment流一直保持连接,从而大大的减少了请求次数,而当用户通讯量少时,则通过长轮询方式适当的增加请求次数,但不至于长时间的占用服务器线程,最终使服务器的资源得到更充分更合理的利用。本发明中,阈值是服务器端根据服务器条件和用户行为特点设定的。以100个同时在线的用户为例,活跃跟非活跃用户各50人,其中活跃用户每秒接收一条消息,非活跃用户每30秒接收一条消息,“通讯频率”设为I秒/次,统计在I分钟内各自产生的请求数和独占线程数。统计结果见表1,可见在动态策略下适当增加独占线程数,大大减少了请求次数,而且可以视具体情况来调整“通讯频率”,找到适合自身的资源平衡点。表I:
权利要求
1.一种网页即时通讯方法,其特征在于通过在服务器端设置通讯频率模块来判断客户端与服务器端通讯频率的大小,然后服务器端根据客户端与服务器端的通讯频率的大小动态的给客户端分配服务器资源。
2.根据权利要求I所述的网页即时通讯方法,其特征在于所述的判断客户端与服务器端的通讯频率,是判断客户端与服务器端的通讯频率是否超过服务器端的给定阈值。
3.根据权利要求2所述的网页即时通讯方法,其特征在于所述的动态的给客户端分配服务器资源,是服务器端根据客户端与服务器端的通讯频率是否超过服务器端的给定阈值,选择Co_ent流方式与客户端通讯或者选择长轮询方式与客户端通讯。
4.根据权利要求3所述的网页即时通讯方法,其特征在于所述的通讯频率模块前还设置计时模块在一定时间后重新计时来优化通讯频率模块对客户端与服务器端的通讯频率大小的判断。
5.根据权利要求4所述的网页即时通讯方法,其特征在于所述的通讯频率模块和计时模块之间还设置次数判断模块判断客户端与服务器端的通讯次数。
全文摘要
本发明公开了一种网页即时通讯方法,通过在服务器端设置通讯频率模块来判断客户端与服务器端通讯频率的大小,然后服务器端根据客户端与服务器端的通讯频率的大小动态的给客户端分配服务器资源。本发明采用上述技术方案,能够克服传统网页即时通讯无用请求次数过多和独占线程数过多的缺点;本发明能够根据服务器条件和用户行为特点自动动态的分配服务器资源,提高服务器使用效率,并且提高了网页即时通讯的效率。
文档编号H04L12/58GK102882773SQ20121040149
公开日2013年1月16日 申请日期2012年10月19日 优先权日2012年10月19日
发明者韦庆华 申请人:杭州也要买电子商务有限公司