基于web2.0实现多协议即时通信的系统及方法

文档序号:7717882阅读:143来源:国知局
专利名称:基于web2.0实现多协议即时通信的系统及方法
技术领域
本发明涉及即时通信领域,尤其涉及一种利用浏览器实现跨平台融合多种协议的
即时通信的方法及系统。
背景技术
即时通信技术发展到现在已经渗透到人们的工作、学习、生活中,成为今后人们生 活不可或缺的一部分。 即时通信软件,现在做得相当成功的,如QQ,通过安装客户端程序来进行交流,具
备了很高的实时性,其功能也相当强大,发展也非常的迅速。但是他们是以庞大的客户端资
源作为代价的,而且软件越做越大,资源就消耗得更多,对于系统资源比较紧张的用户来说
将是难以接受的。基于C/S的模式下的软件本身就决定了其局限性,只有当用户安装了这
个软件的客户端之后才能够使用,也给一些临时上网的人们带来了不便。 在网络飞速发展的今天,Web技术越来越成熟,人们越来越习惯于使用基于B/S模
式的应用来进行工作,而即时通信作为一种新兴的互联网通信服务,如果也能够工作于B/S
模式下,必将给人们带来更大的方便。此外,浏览器是连入Internet的电脑上安装率最高
的应用软件,现在几乎没有不安装浏览器的电脑。很多企业禁止使用即时聊天工具,对QQ、
MSN端口进行封堵,给工作联系带来不便,然而对于浏览器几乎是没有企业会去禁用的。因
此,在B/S模式下构建IM系统,使用Web客户端,对用户来说将是个很好的选择。 基于WEB浏览器的MSN, QQ, Gtalk已经有了 ,但是每种协议都是各自为政,每登录
一种协议就得重新输入一个网址,切换麻烦。尤其是在手机终端,PDA, IPHONE等移动终端
上使用更是相当的不便利。

发明内容
发明目的为了解决上述问题,本发明提供了一种基于WEB浏览器的多协议跨平 台的即时通信方法及系统,用以解决现有技术中用户必须通过在终端安装各种不同的即时 通信客户端软件,或者利用浏览器只能单一选择一种协议进行通信的问题。
技术方案 本发明为实现上述发明目的,采用如下技术方案 —种基于WEB2. 0实现多协议即时通信的系统,包括终端WEB浏览器模块,WEB服
务器、数据库、后台服务器和第三方服务器,终端WEB浏览器模块与WEB服务器连接,WEB服
务器分别与后台服务器、数据库连接,后台服务器与第三方服务器连接。 所述终端WEB浏览器模块包括第一登录模块、好友列表模块、即时通信模块; 所述WEB服务器包括第二登录模块、数据库操作模块、消息发送模块、消息接收
模块、转换模块; 其中第一登陆模块的输出端分别连接好友列表模块的输入端和第二登陆模块的 输入端,好友列表模块与即时通信模块相连接;
第二登陆模块分别与数据库操作模块的输入端、转换模块连接,数据库操作模块 与数据库相连接,转换模块与后台服务器连接后与第三方服务器连接; 即时通信模块的输出端与消息发送模块的输入端连接后与转换模块的输入端连 接; 转换模块的输出端与消息接收模块的输入端连接,消息接收模块的输出端与数据 库操作模块的输入端连接后分别与即时通信模块的输入端、好友列表模块的输入端相连 接。 本发明的基于WEB2.0实现多协议即时通信的系统所述第三方服务器的数量为N 个,N为自然数且N大于1。 本发明还提供一种基于本发明的即时通信系统的方法,主要包括如下步骤
步骤S01、采用终端WEB浏览器中的第一登陆模块,将登陆信息发送至WEB服务器 中的第二登陆模块; 步骤S02、第二登陆模块将所述登录信息发送至转换模块转换为后台服务器采用 的协议格式后,将其发送给相应的第三方服务器进行验证; 步骤S03、第三方服务器通过后台服务器将获取的验证响应消息经过转换模块发 送第二登陆模块,第二登陆模块根据验证响应消息判断验证是否通过,当验证通过,则执行 步骤S04,否则,执行步骤S05 ; 步骤S04、后台服务器将该账户的好友列表信息通过转换模块发送至第二登陆模 块,第二登陆模块将此好友列表信息通过数据库操作模块发送至数据库进行存储,进入步 骤S06 ; 步骤S05、第二登陆模块将验证信息发送给第一登陆模块,返回步骤S01 ; 步骤S06、数据库将好友列表信息整合成规定格式经过数据库操作模块发送给好
友列表模块; 步骤S07、即时通信模块将需要即时发送的消息通过消息发送模块发送至转换模 块,转换模块将发送的消息转换为后台服务器采用的协议格式后,将其发送给相应的第三 方服务器; 步骤S08 ,第三方服务器将返回消息通过后台服务器发送至转换模块,转换模块将 此返回消息依次通过消息接收模块、数据库操作模块后,存储在数据库中;
步骤S09,数据库将步骤S08所述的返回消息存储后,将此返回消息经过数据库操 作模块发送至即时通信模块; 步骤S10、即时通信结束,返回好友列表模块; 步骤Sll、返回步骤S07,执行下一轮消息的发送和接收步骤。 有益效果 本发明具有以下优点 1、可以以多种协议方式同时登录系统,用户可以在浏览器中根据自己的需要以任 意一种协议登录系统。 2、利用浏览器技术Ajax收发消息,数据吞吐量小,消除了因为终端能力导致的资 源不足,影响收发消息的稳定性。


图1是本发明利用WEB浏览器实现跨平台多协议实现即时通信的系统的结构框 图。 图2是本发明利用WEB浏览器实现多协议跨平台即时通信的方法的主要实现原理 流程图。 图3是本发明中用户通过WEB浏览器登录即时通信后台服务器并获取好友列表的 流程图。 图4是本发明中用户利用WEB浏览器实现与后台服务器之间消息收发的流程图。
具体实施例方式
下面结合附图对本发明的技术方案进行详细说明 如图1所示,该图为本发明利用WEB浏览器实现多协议跨平台即时通信的系统的 结构框图,包括终端WEB浏览器模块,WEB服务器、数据库、后台服务器和第三方服务器,终 端WEB浏览器模块与WEB服务器连接,WEB服务器分别与后台服务器、数据库连接,后台服 务器与第三方服务器连接。所述第三方服务器的数量为N个,N为自然数且N大于1。
所述终端WEB浏览器模块包括第一登录模块、好友列表模块、即时通信模块;
所述WEB服务器包括第二登录模块、数据库操作模块、消息发送模块、消息接收 模块、转换模块; 其中第一登陆模块的输出端分别连接好友列表模块的输入端和第二登陆模块的 输入端,好友列表模块与即时通信模块相连接; 第二登陆模块分别与数据库操作模块的输入端、转换模块连接,数据库操作模块 与数据库相连接,转换模块与后台服务器连接后与第三方服务器连接; 即时通信模块的输出端与消息发送模块的输入端连接后与转换模块的输入端连 接; 转换模块的输出端与消息接收模块的输入端连接,消息接收模块的输出端与数据 库操作模块的输入端连接后分别与即时通信模块的输入端、好友列表模块的输入端相连 接。 本发明所述的终端WEB浏览器模块,用于提供给用户显示页面,并利用AJAX技术 中的XHR对象跟WEB服务器建立HTTP连接,将用户的登录请求信息发送给WEB服务器,从 WEB服务器获取用户需要的好友列表信息,通过AJAX中的XHR对象进行消息的收发,并为每 一个需求设置相应的回调函数进行处理; 本发明所述的WEB服务器,用来存储用户所需的显示页面,以及处理浏览器端相 应请求的处理模块,并负责跟后台服务器通信,与数据库的交互; 本发明所述的后台服务器,集成多种即时通信工具协议的处理模块,根据命令中 对应的协议处理每种即时通信工具的协议,负责与每种即时通信工具的官方服务器进行通 信; 本发明所述的数据库,用来存储登录的账户状态信息、获取的好友列表、收发的聊 天记录信息; 终端WEB浏览器模块包括
①登录模块,用于从用户端获取用户通信的协议,用户名和密码等登录信息;
②好友列表模块,用于从服务器端获取好友列表的信息,并显示出来;
③聊天模块,用于从用户端获取发送信息,并从服务器端获取接收信息;
WEB服务器包括 (1)第二登录模块,将浏览器端XHR对象中获取的用户登录信息发送给转换模块, 并将从转换模块获取的好友列表信息,发送给数据库操作模块; (2)数据库操作模块,此模块用于将来自登录模块的登陆用户的好友列表存入 数据库,将来自消息接收模块的消息存入数据库,接受浏览器端查询数据库的请求,获取好 友列表信息以及接收到的消息; (3)消息发送模块,用于处理从浏览器利用AJAX的XHR对象发送的消息,并将之传 给转换模块; (4)消息接收模块,用于处理从转换模块获取的好友发送过来的消息,并上传给数 据库操作模块; (5)转换模块,用于处理上层各模块与后台服务器之间格式转换的问题。
本发明还提供一种基于本发明的即时通信系统的方法,主要包括如下步骤
步骤S01、采用终端WEB浏览器中的第一登陆模块,将登陆信息发送至WEB服务器 中的第二登陆模块; 步骤S02、第二登陆模块将所述登录信息发送至转换模块转换为后台服务器采用 的协议格式后,将其发送给相应的第三方服务器进行验证; 步骤S03、第三方服务器通过后台服务器将获取的验证响应消息经过转换模块发 送第二登陆模块,第二登陆模块根据验证响应消息判断验证是否通过,当验证通过,则执行 步骤S04,否则,执行步骤S05 ; 步骤S04、后台服务器将该账户的好友列表信息通过转换模块发送至第二登陆模 块,第二登陆模块将此好友列表信息通过数据库操作模块发送至数据库进行存储,进入步 骤S06 ; 步骤S05、第二登陆模块将验证信息发送给第一登陆模块,返回步骤S01 ; 步骤S06、数据库将好友列表信息整合成规定格式经过数据库操作模块发送给好
友列表模块; 步骤S07、即时通信模块将需要即时发送的消息通过消息发送模块发送至转换模 块,转换模块将发送的消息转换为后台服务器采用的协议格式后,将其发送给相应的第三 方服务器; 步骤S08,第三方服务器将返回消息通过后台服务器发送至转换模块,转换模块将 此返回消息依次通过消息接收模块、数据库操作模块后,存储在数据库中;
步骤S09,数据库将步骤S08所述的返回消息存储后,将此返回消息经过数据库操 作模块发送至即时通信模块; 步骤S10、即时通信结束,返回好友列表模块; 步骤Sll、返回步骤S07,执行下一轮消息的发送和接收步骤。 本发明技术方案的主要设计构思是针对现有技术中用户必须每次登录不同的终 端上的即时通信客户端软件登录即时通信系统及进行即时通信的,而且每个通信工具的通信协议都是单独独立的问题,而提出一种利用WEB浏览器实现跨协议多平台的即时通信的 解决方案,该方案中利用HTTP协议,基于AJAX技术,从而达到通过浏览器与WEB服务器之 间不间断的短连接实现即时通信。 为使本发明的目的、技术方案更加清楚明白,以下参照附图并举实施例,对本发明 做进一步的详细说明。 参阅图2,该图本发明利用WEB浏览器实现多协议跨平台即时通信的方法的主要 实现原理流程图,其主要实现过程为 步骤S12 、用户访问用于提供即时通信服务的网页,通过浏览器利用AJAX的XHR对 象发送给后台服务器。 步骤S13、浏览器利用XHR对象与WEB服务器建立的HTTP链接向WEB服务器请求
获取响应用户的好友列表,并为此请求指定回调函数,将获取信息显示于页面中。 步骤S14、用户需要发送消息时,利用XHR对象与WEB服务器建立的HTTP链接向
WEB服务器发送该消息。用户接收消息时,通过轮询,利用XHR对象发送请求查询数据库,将
指定用户的消息读取,并为此请求指定回调函数。 步骤S15、聊天结束,可以选择回到好友列表页面。 步骤S16、用户如果想退出或者更换帐户,则在此页面可以注销,并回到初始登录 页面。 参阅图3,该图为本发明中用户通过浏览器登录即时通信后台服务器并获取联系 人资料的流程图,其主要实现过程为 步骤S20、用户访问用于提供即时通信服务的网页,在所述网页中输入用于登录即 时通信后台服务器的用户名及密码。 步骤S21 、浏览器运行所述网页中的JS脚本程序创建XHR对象,利用该XHR对象 与WEB服务器建立HTTP连接,通过该连接向WEB服务器发送登录消息,消息中携带有所属 用户名及密码,同时为此类型的消息指定相应的回调函数。 步骤S22、 WEB服务器将所述登录消息转换为后台服务器采用的协议格式后,将其
发送给相应的后台服务器,并由后台服务器发送到官方服务器进行验证。 步骤S23、后台服务器将从官方服务器获取的验证响应消息发送给WEB服务器。并
判断验证是否通过,若是,则执行步骤S24,否则,执行步骤S25。 步骤S24、 WEB服务器将由后台服务器获取的好友列表信息存储与数据库。 步骤S25、将验证信息传递给WEB服务器,并由WEB服务器通过HTTP将验证信息发
送给浏览器,并调用相应的回调函数进行显示。 步骤S26、浏览器判断接验证是否成功,若是,执行步骤S27,否则,执行步骤S20。
步骤S27、浏览器通过JS创建AJAX技术的XHR对象,与WEB服务器建立HTTP连 接,通过该链接,发送获取好友列表的请求。 步骤S28、 WEB服务器收到请求,查询数据库,将存于数据库中相应用户的好友列 表,整合成规定格式通过HTTP推送给浏览器。 步骤S29、浏览器端利用AJAX的回调函数处理获取的联系人列表,并通过JS解析 成HTML格式显示出来。 参阅图4,该图为本发明中用户利用浏览器与后台服务器进行消息通信的流程图,其主要实现过程为 步骤S30、用户与后台收发送消息时,则利用AJAX技术,运行网页中的JS脚本程序创建XHR对象,利用该XHR对象与WEB服务器建立HTTP连接,通过建立的连接向WEB服务器发送请求。 步骤S31、 WEB服务器接收到浏览器的request请求,检测是发送消息请求还是接收消息请求,若是发送消息请求,执行步骤S32,否则,执行步骤S33。 步骤S32、将消息发送给后台服务器,并通过它转向官网服务器。执行步骤S35。
步骤S33、 WEB服务器获取后台发送过来的消息数据,并将其发送给浏览器,并断开与浏览器的连接。 步骤S34、浏览器通过调用相应的回调函数,处理收到的消息。
步骤S35、进入下一轮消息的收发,执 步骤S31。
权利要求
一种基于WEB2.0实现多协议即时通信的系统,其特征在于包括终端WEB浏览器模块,WEB服务器、数据库、后台服务器和第三方服务器,终端WEB浏览器模块与WEB服务器连接,WEB服务器分别与后台服务器、数据库连接,后台服务器与第三方服务器连接,所述终端WEB浏览器模块包括第一登录模块、好友列表模块、即时通信模块;所述WEB服务器包括第二登录模块、数据库操作模块、消息发送模块、消息接收模块、转换模块;其中第一登陆模块的输出端分别连接好友列表模块的输入端和第二登陆模块的输入端,好友列表模块与即时通信模块相连接;第二登陆模块分别与数据库操作模块的输入端、转换模块连接,数据库操作模块与数据库相连接,转换模块与后台服务器连接后与第三方服务器连接;即时通信模块的输出端与消息发送模块的输入端连接后与转换模块的输入端连接;转换模块的输出端与消息接收模块的输入端连接,消息接收模块的输出端与数据库操作模块的输入端连接后分别与即时通信模块的输入端、好友列表模块的输入端相连接。
2. 根据权利要求1所述的基于WEB2. 0实现多协议即时通信的系统,其特征在于所述第三方服务器的数量为N个,N为自然数且N大于1。
3. —种基于权利要求1或2所述的即时通信系统的方法,其特征在于主要包括如下步骤步骤S01、采用终端WEB浏览器中的第一登陆模块,将登陆信息发送至WEB服务器中的第二登陆模块;步骤S02、第二登陆模块将所述登录信息发送至转换模块转换为后台服务器采用的协议格式后,将其发送给相应的第三方服务器进行验证;步骤S03、第三方服务器通过后台服务器将获取的验证响应消息经过转换模块发送第二登陆模块,第二登陆模块根据验证响应消息判断验证是否通过,当验证通过,则执行步骤S04,否则,执行步骤S05 ;步骤S04、后台服务器将该账户的好友列表信息通过转换模块发送至第二登陆模块,第二登陆模块将此好友列表信息通过数据库操作模块发送至数据库进行存储,进入步骤S06 ;步骤S05、第二登陆模块将验证信息发送给第一登陆模块,返回步骤SOI ;步骤S06、数据库将好友列表信息整合成规定格式经过数据库操作模块发送给好友列表模块;步骤S07、即时通信模块将需要即时发送的消息通过消息发送模块发送至转换模块,转换模块将发送的消息转换为后台服务器采用的协议格式后,将其发送给相应的第三方服务器;步骤S08 ,第三方服务器将返回消息通过后台服务器发送至转换模块,转换模块将此返回消息依次通过消息接收模块、数据库操作模块后,存储在数据库中;步骤S09,数据库将步骤S08所述的返回消息存储后,将此返回消息经过数据库操作模块发送至即时通信模块;步骤S10、即时通信结束,返回好友列表模块;步骤Sll、返回步骤S07,执行下一轮消息的发送和接收步骤。
全文摘要
本发明提供一种基于WEB2.0实现多协议即时通信的系统及方法,该系统包括终端WEB浏览器模块,WEB服务器、后台服务器和数据库,终端WEB浏览器模块包括登录页面、好友列表页面、聊天页面;WEB服务器包括登录模块、数据库操作模块、消息发送模块、消息接收模块、转换模块;利用本发明可以以多种协议方式同时登录系统,用户可以在浏览器中根据自己的需要以任意一种协议登录系统。本发明利用浏览器技术Ajax收发消息,数据吞吐量小,消除了因为终端能力导致的资源不足,影响收发消息的稳定性。
文档编号H04L12/18GK101707600SQ20091021261
公开日2010年5月12日 申请日期2009年11月13日 优先权日2009年11月13日
发明者侯旭勃, 吕婉, 夏然辉, 孙庆庆, 张弘, 朱一星, 王开, 王振科, 王梁, 裴文江, 许皓玮 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1