专利名称:一种基于服务器推送技术的web即时通信系统及方法
技术领域:
本发明涉及TOB即时通信系统,尤其涉及一种基于服务器推送技术的WEB即时通信系统及方法。
背景技术:
随着信息时代的快速发展,网站上急需一种便捷的即时通讯方式,在网站客服和访客间建立沟通桥梁。但是现有的传统即时通讯工具存在着诸多不便之处,很难与网站做到无缝结合。传统WEB网页通讯技术的缺陷,主要体现在以下几个方面
1、由于传统的WEB服务模式是等待浏览器提交请求而返回消息的被动响应模式,影响了即时通讯的“即时性”;
2、网页与服务端的每次交互,都需要刷新一次页面,影响了客户体验和界面操作,还消耗了服务端的性能负载和网络带宽;
3、基于HTTP协议的短连接方式,只能够支持服务端返回一段简单的文本数据,使得传统方式难以设计和承载复杂的业务通讯协议;
4、传统的Request& Response模式,在请求没有返回时,无法继续在客户端界面上执行其他操作,无法实现Win32桌面应用程序的异步特性,更加无法做到同时并发多个网络请求。
发明内容
本发明的目的是克服现有技术的不足,提供一种基于服务器推送技术的WEB即时通信系统及方法。基于服务器推送技术的WEB即时通信系统包括TOB访客端、TOB客服端、代理服务器、应用服务器、WEB服务器、缓存系统和数据库;代理服务器分别与WEB访客端、WEB客服端、应用服务器和WEB服务器相连,应用服务器分别与缓存系统和数据库相连;WEB访客端和WEB客服端是网络上的一个站点,为WEB页面形式,组成TOB客户端,代理服务器、应用服务器、WEB服务器、缓存系统、数据库组成服务端,作为网络上的一个站点。所述的TOB客户端采用Ajax+XML+JavaScript的通讯框。所述的数据库采用Mysql主从服务器,主服务器对于数据变动频繁的表采用 innodb存储引擎,对于数据变动低频的表采用myisam存储引擎,从服务器定时检测主服务器是否有故障,一旦主服务器出现故障,则从服务器变为主服务器,并使虚拟的主服务器IP 指向从服务器。基于服务器推送技术的Web即时通信方法的步骤如下
1)建立连接,WEB访客端和TOB客服端是网络上的一个站点,组成WEB客户端,为TOB 页面形式,WEB页面发送发起对话请求,代理服务器、应用服务器、WEB服务器、缓存系统、数据库组成的服务端收到请求后,初始化访客或客服信息;2)发送请求,TOB页面采用POST或者Ajax的提交方式,发送HTTP请求到服务端,服务端接收到HTTP请求后,将消息插入到消息队列中去,并且立即返回“收到消息标记”给WEB 页面;
3)请求消息,基于HTTP连接的服务器推送技术,WEB页面采用POST或者Ajax的提交方式,发送HTTP请求到服务端,服务端接收到HTTP请求后有两种方式处理,一种当服务端有收到需要发送到WEB页面的消息时,服务器立即发送消息给WEB页面,并且TOB页面再次发送请求以保持链路;另一种当服务端没有收到需要发送到WEB页面的消息时,则将TOB 页面的HTTP请求挂起,等待服务端的消息队列中有新消息或者WEB页面的HTTP请求挂起超过12秒时,服务端就立即发送新消息或空消息给WEB页面,并且让TOB页面再次发送请求以保持链路,如果服务端发送消息给WEB页面失败,将等待几秒后再次发送,默认发送三次,若三次仍不成功则不再发送;
4)断开连接,WEB页面发送结束对话请求,服务端收到请求后,将WEB客户端信息在缓存系统中删除;
5)若发生超时,则超时处理分WEB访客端超时重连、WEB客服端超时断开、WEB访客端超时断开三种情况进行处理;
(1)WEB访客端超时重连TOB访客端的TOB页面15秒内未收到服务器的消息,则WEB 访客端的WEB页面立即发送请求给服务端,请求重新连接;
(2)WEB客服端超时断开应用服务器的线程检查应用服务器在230秒内未收到TOB客服端的WEB页面请求,就认为TOB客服端已经断开,将这个TOB客服端的信息从缓存中删除;
(3)WEB访客端超时断开应用服务器的线程检查应用服务器在51秒内未收到TOB访客端的WEB页面请求,就认为TOB访客端已经断开,将这个TOB访客端的信息从缓存中删除。本发明中WEB客户端采用Ajax+XML+JavaScript的通讯框技术,使信息传递过程中无需重新刷新WEB页面即可显示新信息,这样使服务端发送的信息量小,并且XML弥补了 HTTP协议只能传递简单文本的缺点,所以保证通讯即时性、友好交互性、高兼容性;采用服务器主推技术,使服务器主动向WEB页面推送消息,改变传统服务器等待请求的状态,提高服务器的利用率和通讯的即时性,;采用主从服务器,主服务器负责写入操作,从服务器负责读出操作,两服务器采用不同的存储引擎,提高读写速度;采用应用服务器和WEB服务器配置,应用服务器处理数据类信息,WEB服务器处理TOB页面类信息,提高信息处理速度,增强即时性。
图1为基于服务器推送技术的TOB即时通信系统框图。
具体实施例方式如图1所示,基于服务器推送技术的TOB即时通信系统包括TOB访客端、TOB客服端、代理服务器、应用服务器、WEB服务器、缓存系统和数据库;代理服务器分别与WEB访客端、WEB客服端、应用服务器和WEB服务器相连,应用服务器分别与缓存系统和数据库相连;WEB访客端和TOB客服端是网络上的一个站点,为WEB页面形式,组成TOB客户端,代理服务器、应用服务器、WEB服务器、缓存系统、数据库组成服务端,作为网络上的一个站点。所述的TOB客户端采用Ajax+XML+JavaScript的通讯框,Ajax技术是TOB页面与服务器异步通信,WEB页面通过Ajax技术,以XML格式,发送请求到服务端,服务端收到WEB 页面的请求后,服务端通过Ajax技术,以XML格式,发送消息或者命令给web页面,整个过程中,无需重新刷新WEB页面。这样使服务端发送的信息量小,并且XML弥补了 HTTP协议只能传递简单文本的缺点,所以保证通讯即时性、友好交互性、高兼容性。所述的数据库采用Mysql主从服务器,主服务器对于数据变动频繁的表采用 irmodb存储引擎,对于数据变动低频的表采用myisam存储引擎,从服务器采用myisam存储引擎,irmodb存储引擎擅长处理事务,myisam存储引擎擅长处理查询,则主服务器主要处理写入操作,从服务器主要处理读出操作,大大提高了服务器的使用效率和操作效率,从服务器定时检测主服务器是否有故障,一旦主服务器出现故障,则从服务器变为主服务器,并使虚拟的主服务器IP指向从服务器。基于服务器推送技术的Web即时通信方法的步骤如下
1)建立连接,WEB访客端和TOB客服端是网络上的一个站点,组成WEB客户端,为TOB 页面形式,WEB页面发送发起对话请求,代理服务器、应用服务器、WEB服务器、缓存系统、数据库组成的服务端收到请求后,初始化访客或客服信息;
2)发送请求,TOB页面采用POST或者Ajax的提交方式,发送HTTP请求到服务端,服务端接收到HTTP请求后,将消息插入到消息队列中去,并且立即返回“收到消息标记”给WEB 页面;
3)请求消息,基于HTTP连接的服务器推送技术,WEB页面采用POST或者Ajax的提交方式,发送HTTP请求到服务端,服务端接收到HTTP请求后有两种方式处理,一种当服务端有收到需要发送到WEB页面的消息时,服务器立即发送消息给WEB页面,并且TOB页面再次发送请求以保持链路;另一种当服务端没有收到需要发送到WEB页面的消息时,则将WEB 页面的HTTP请求挂起,等待服务端的消息队列中有新消息或者WEB页面的HTTP请求挂起超过12秒时,服务端就立即发送新消息或空消息给WEB页面,并且让TOB页面再次发送请求以保持链路,如果服务端发送消息给WEB页面失败,将等待几秒后再次发送,默认发送三次,若三次仍不成功则不再发送;
4)断开连接,WEB页面发送结束对话请求,服务端收到请求后,将WEB客户端信息在缓存系统中删除;
5)若发生超时,则超时处理分WEB访客端超时重连、WEB客服端超时断开、WEB访客端超时断开三种情况进行处理;
(1)WEB访客端超时重连TOB访客端的TOB页面15秒内未收到服务器的消息,则WEB 访客端的WEB页面立即发送请求给服务端,请求重新连接;
(2)WEB客服端超时断开应用服务器的线程检查应用服务器在230秒内未收到TOB客服端的WEB页面请求,就认为TOB客服端已经断开,将这个TOB客服端的信息从缓存中删除;
(3)WEB访客端超时断开应用服务器的线程检查应用服务器在51秒内未收到WEB访客端的WEB页面请求,就认为WEB访客端已经断开,将这个WEB访客端的信息从缓存中删除。
权利要求
1.一种基于服务器推送技术的WEB即时通信系统,其特征在于包括TOB访客端、TOB客服端、代理服务器、应用服务器、WEB服务器、缓存系统和数据库;代理服务器分别与WEB访客端、WEB客服端、应用服务器和WEB服务器相连,应用服务器分别与缓存系统和数据库相连;TOB访客端和TOB客服端是网络上的一个站点,为WEB页面形式,组成TOB客户端,代理服务器、应用服务器、WEB服务器、缓存系统、数据库组成服务端,作为网络上的一个站点。
2.根据权利要求1所述的一种基于服务器推送技术的Web即时通信系统,其特征在于所述的WEB客户端采用Ajax+XML+JavaScript的通讯框。
3.根据权利要求1所述的一种基于服务器推送技术的Web即时通信系统,其特征在于所述的数据库采用Mysql主从服务器,主服务器对于数据变动频繁的表采用irmodb存储引擎,对于数据变动低频的表采用myisam存储引擎,从服务器定时检测主服务器是否有故障,一旦主服务器出现故障,则从服务器变为主服务器,并使虚拟的主服务器IP指向从服务器。
4.一种使用如权利要求1所述系统的基于服务器推送技术的Web即时通信方法,其特征在于它的步骤如下1)建立连接,WEB访客端和TOB客服端是网络上的一个站点,组成WEB客户端,为TOB 页面形式,WEB页面发送发起对话请求,代理服务器、应用服务器、WEB服务器、缓存系统、数据库组成的服务端收到请求后,初始化访客或客服信息;2)发送请求,TOB页面采用POST或者Ajax的提交方式,发送HTTP请求到服务端,服务端接收到HTTP请求后,将消息插入到消息队列中去,并且立即返回“收到消息标记”给TOB 页面;3)请求消息,基于HTTP连接的服务器推送技术,WEB页面采用POST或者Ajax的提交方式,发送HTTP请求到服务端,服务端接收到HTTP请求后有两种方式处理,一种当服务端有收到需要发送到WEB页面的消息时,服务器立即发送消息给WEB页面,并且TOB页面再次发送请求以保持链路;另一种当服务端没有收到需要发送到TOB页面的消息时,则将WEB 页面的HTTP请求挂起,等待服务端的消息队列中有新消息或者WEB页面的HTTP请求挂起超过12秒时,服务端就立即发送新消息或空消息给WEB页面,并且让TOB页面再次发送请求以保持链路,如果服务端发送消息给WEB页面失败,将等待几秒后再次发送,默认发送三次,若三次仍不成功则不再发送;4)断开连接,WEB页面发送结束对话请求,服务端收到请求后,将WEB客户端信息在缓存系统中删除;5)若发生超时,则超时处理分WEB访客端超时重连、WEB客服端超时断开、WEB访客端超时断开三种情况进行处理;(1)WEB访客端超时重连TOB访客端的TOB页面15秒内未收到服务器的消息,则WEB 访客端的WEB页面立即发送请求给服务端,请求重新连接;(2)WEB客服端超时断开应用服务器的线程检查应用服务器在230秒内未收到WEB客服端的WEB页面请求,就认为WEB客服端已经断开,将这个WEB客服端的信息从缓存中删除;(3)TOB访客端超时断开应用服务器的线程检查应用服务器在51秒内未收到TOB访客端的WEB页面请求,就认为TOB访客端已经断开,将这个TOB访客端的信息从缓存中删除。
全文摘要
本发明公开了一种基于服务器推送技术的WEB即时通信系统及方法。它包括WEB访客端、WEB客服端、代理服务器、应用服务器、WEB服务器、缓存系统和数据库;WEB访客端和WEB客服端是网络上的一个站点,为WEB页面形式,组成WEB客户端,代理服务器、应用服务器、WEB服务器、缓存系统、数据库组成服务端,作为网络上的一个站点,WEB客户端。本发明中WEB客户端采用Ajax+XML+JavaScript的通讯框,保证通讯即时性、友好交互性、高兼容性;采用服务器主推技术提高服务器的利用率和通讯的即时性;采用主从服务器提高读写速度;采用应用服务器和WEB服务器配置提高信息处理速度,增强即时性。
文档编号H04L29/08GK102571834SQ20101058910
公开日2012年7月11日 申请日期2010年12月15日 优先权日2010年12月15日
发明者娄伟波 申请人:金华六度信息科技有限公司