一种即时通讯扩展方法及系统技术方案

技术编号:14776255 阅读:146 留言:0更新日期:2017-03-09 13:02
本发明专利技术公开了一种即时通讯扩展方法,包括步骤:用户端与Webcocket服务器建立连接,并加入特定的通讯群;Websocket服务器和XMPP服务器建立连接;XMPP服务器发送的XMPP信息将通过Websocket服务器同步转发给通讯群对应的用户端。本发明专利技术能够在同样的硬件条件下支持更多用户端,Sebsocket服务器对转发数据可以进行转码、压缩、和缓存处理,提高性能。

【技术实现步骤摘要】

本专利技术涉及一种网络数据
,特别是涉及一种即时通讯扩展方法及系统
技术介绍
现如今,随着科技的进步和发展,互联网取得了飞速的发展,而随着互联网网站的浏览量越发庞大,现有的即时通讯类型的信息传输存在难以支持更多用户、无法稳定完成信息传输任务等问题;如何在同样硬件条件下支持更多的用户成为本领域技术人员亟待解决的问题。应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的
技术介绍
部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是提供一种能够在同样的硬件条件下支持更多用户端的即时通讯方法及系统。为实现上述目的,本专利技术提供了一种即时通讯扩展方法,包括步骤:用户端与Webcocket服务器建立连接,并加入特定的通讯群;Websocket服务器和XMPP服务器建立连接;XMPP服务器发送的XMPP信息将通过Websocket服务器同步转发给通讯群对应的用户端。进一步的,Websocket服务器对通过它传递的数据作出压缩处理、转码处理和加密处理中的至少一种处理。压缩处理可以加快信息处理速度,提高信息处理效率;转码处理可以使得用户端获取格式适合的信息,以满足更多种类型的用户端,提高适用范围;加密处理提高信息的安全度;另外,最好可以是先转码加密,再行压缩处理,之后再进行转发,保证信息转发的可靠性。进一步的,所述转码处理包括音视频格式转换。优于不同的用户端的要求不同,其中音视频格式就是其中较为关键的部分,在转发前进行格式转换,有利于提高用户体验,避免接收到无法有效播放的视频。进一步的,Websocket服务器对通过它传递的数据基于文件散列编码提供缓存服务。对于大批量数据的处理,webscoekt服务器可以提供缓冲功能来减少传输量;对于其他数据,也可以进行缓存,避免本地信息缺失而无法寻回的情况发生;同时,由于系统的殊性,缓存管理需要基于文件散列编码来管理,而不是传统的文件名或者其他形式;由于系统是作为信息系统交互的中间环节,系统处理的信息是已经编码过的数据流。这些数据流在存储到缓存系统中以后,需要一种有效的识别手段来提高缓冲的效率。特别地,在特殊情况下,不同用户提交的数据流可能是重复的,但是由于来自不同的用户,这种重复很难通过传统的文件名称,或者其他标示来识别。这里,我们通过对数据进行MD5散列编码计算的方式来判断数据的重复,以取得最大化的缓存效果;基于上诉特点产生的编码可以作为缓存数据的存储标示,来保证缓存作用的最大化,可以极大地提高数据传输效率。进一步的,所述Websocket服务器是作为XMPP服务器的其中一个用户而存在的。进一步的,所述用户端包括HTML用户端、Javascript用户端、Android用户端、Java用户端和iOS用户端中的至少一种。Websocket与下游用户的联接是单向广播形式,相对于双向的即时通讯如XMPP协议,存在支持大并发量的优势,但对于某些用户来说,Websocket与下游用户的联接并不能满足其通讯需求,XMPP服务器同时支持其他用户的存在,可以根据需求不同,而作为直接用户或者通过Websocket成为下游用户。进一步的,若XMPP服务器存在XMPP群,则Websocket服务器建立对应XMPP群的通讯群。对每个XMPP的群,Webscoekt服务器会建立一个对应的群,Websocket提供一个XMPP消息转发机制来保证XMPP的群消息会正确的转发给加入了该通讯群的所有客户端。一种即时通讯扩展系统,包括:XMPP服务器,用于向外发送XMPP信息;Websocket服务器,用于与所述XMPP服务器建立连接,并接收所述XMPP信息;同时,与用户端建立连接,并在将用户端加入特定的通讯群后,并将XMPP信息转发给用户端;用户端,用于接收Websocket服务器转发的XMPP信息。Websockt服务器负责根据需要提供加密的,可靠的连接方式,和用户认证机制;同时服务器还提供高效的通讯群机制来保证消息转发的一致性。进一步的,所述即时通讯扩展系统还包括关联与所述Websocket服务器的缓存模块,缓存模块基于文件散列编码、用于保存、管理和读取会话信息和文件资源。对于大批量数据的处理,webscoekt服务器可以提供缓冲功能来减少传输量;对于其他数据,也可以进行缓存,避免本地信息缺失而无法寻回的情况发生,比如会话信息和文件资源等;同时,由于系统的殊性,缓存管理需要基于文件散列编码来管理,而不是传统的文件名或者其他形式;由于系统是作为信息系统交互的中间环节,系统处理的信息是已经编码过的数据流。这些数据流在存储到缓存系统中以后,需要一种有效的识别手段来提高缓冲的效率。特别地,在特殊情况下,不同用户提交的数据流可能是重复的,但是由于来自不同的用户,这种重复很难通过传统的文件名称,或者其他标示来识别。这里,我们通过对数据进行MD5散列编码计算的方式来判断数据的重复,以取得最大化的缓存效果;基于上诉特点产生的编码可以作为缓存数据的存储标示,来保证缓存作用的最大化,可以极大地提高数据传输效率。进一步,所述Websocket服务器包括:消息接收模块,用于接收XMPP信息;资源管理模块,用于对转发的XMPP信息进行压缩处理、转码处理和加密处理中的至少一种处理;消息分发模块,用于根据接收到的XMPP信息和关联的通讯群的不同,进行XMPP信息的转发;事件驱动并发处理模块,用于根据事件驱动并发处理机制来保证系统的可拓展性。消息的接收、管理和分发协调合作,尽可能的发挥Websocket技术支持大并发量的优点,从而达到同样硬件条件下支持更多并发终端的目标由于消息系统的客户端可以基于各种平台,由此就带来极大的信息兼容和转换的要求;本服务的结构保证了,在消息传输的中间环节,系统可以根据不同的系统要求来进行数据转换,以保证不同系统见的兼容问题;同时,利用前述缓存系统来存储已经转换过的数据,来保证这种转换不会给服务器带来极大的处理压力;同样的,根据具体数据的要求,和客户端的要求,服务器可以提供相应的数据加密处理服务;再者,用户的数据在缓存后可以通过添加服务器模块来根据需要进行处理,并提供给客户段各种接口来使用这些数据,而不是局限于原始的数据;比如用户传输的图片可以根据客户的需求改变格式,大小,进行各种绘制处理后再发送给客户端来满足不同的客户端需求。特别地,服务器提供事件驱动并发处理(Event-DrivenConcurrency)机制来保证系统地可扩展性;事件驱动并发处理(Event-DrivenConcurrency)机制将处理流程分割成多个步骤,每一个步骤都实现为一个有限状态机(FSM)。所有的处理请求会作为Event进入系统,由Scheduler负责传递给相应FSM。FSM的处理结果也以Event形式输出给Scheduler。新的Event会再次被Scheduler进行转发给下一个FSM,直至处理完成。其最大的优点是随着处理量的增加,系统负荷是以线形增长。当达到系统饱和处理能力后,系统的处理能力不会下降。因此通过选择和实现事件驱动并非处理框架,可以本文档来自技高网...
一种即时通讯扩展方法及系统

【技术保护点】
一种即时通讯扩展方法,其特征在于,包括步骤:用户端与Webcocket服务器建立连接,并加入特定的通讯群;Websocket服务器和XMPP服务器建立连接;XMPP服务器发送的XMPP信息将通过Websocket服务器同步转发给通讯群对应的用户端。

【技术特征摘要】
1.一种即时通讯扩展方法,其特征在于,包括步骤:用户端与Webcocket服务器建立连接,并加入特定的通讯群;Websocket服务器和XMPP服务器建立连接;XMPP服务器发送的XMPP信息将通过Websocket服务器同步转发给通讯群对应的用户端。2.如权利要求1所述的即时通讯扩展方法,其特征在于:Websocket服务器对通过它传递的数据作出压缩处理、转码处理和加密处理中的至少一种处理。3.如权利要求2所述的即时通讯扩展方法,其特征在于:所述转码处理包括音视频格式转换。4.如权利要求1所述的即时通讯扩展方法,其特征在于:Websocket服务器对通过它传递的数据基于文件散列编码提供缓存服务。5.如权利要求1所述的即时通讯扩展方法,其特征在于:所述Websocket服务器是作为XMPP服务器的其中一个用户而存在的。6.如权利要求1所述的即时通讯扩展方法,其特征在于:所述用户端包括HTML用户端、Javascript用户端、Android用户端、Java用户端和iOS用户端中的至少一种。7.如权利要求1所述的即时通讯扩展方法,其特征在于:若X...

【专利技术属性】
技术研发人员:林征王强盛
申请(专利权)人:奕甲智能技术上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1