即时通信客户端数据共享方法和系统的制作方法

文档序号:7711365阅读:71来源:国知局
专利名称:即时通信客户端数据共享方法和系统的制作方法
技术领域
本发明涉及即时通信技术领域,尤其是涉及ー种即时通信客户端数据共享方法和系统。
背景技术
随着互联网的发展和即时通信(Instant Messaging, IM)软件的普及使用,IM软件具备了越来越多的功能,逐渐地从ー个纯粹的即时聊天工具向一个个人平台发展。目前,IM软件的消息传递或者信息获 取都是由IM客户端通过服务器中转,或者先上传到服务器再从服务器下载的模式实现,形成了ー个以服务器为根节点的树状结构,月艮务器承载了几乎全部的数据传递、转发以及临时性的存储,即该树状结构处于一种头重脚轻的关系模型。然而,随着IM系统的功能越来越多,用户基数的不断壮大,传统的IM客户端到服务器、IM客户端到服务器再到IM客户端的数据获取和数据传递模式给服务器带来了过大的压カ和负荷,服务器的数据处理量过大,过于繁忙,导致IM系统的性能低下;并且,现有的处理模式对服务器有很强的依赖性,一旦服务器出现故障或异常,会影响整个IM系统,导致頂业务的中断。

发明内容
本发明实施例提供了ー种即时通信客户端数据共享方法和系统,能够更快更高效地交互数据或信息,提高资源的利用率,显著降低了服务器的压カ和负荷。为达到上述目的,本发明实施例的技术方案是这样实现的本发明实施例提供了一种即时通信客户端数据共享方法,包括即时通信客户端登录后,获取自身好友列表中的好友信息和好友状态,所述好友状态指示好友客户端在线;即时通信客户端通过网络地址转换NAT穿越方式与至少ー个在线好友客户端建立端到端连接;即时通信客户端和在线好友客户端利用所述端到端连接实现数据的共享。本发明实施例还提供了一种即时通信客户端数据共享系统,所述系统包括多个即时通信客户端,所述即时通信客户端登录后,获取自身好友列表中的好友信息和好友状态,所述好友状态指示好友客户端在线;所述即时通信客户端与至少ー个在线好友客户端之间具有通过NAT穿越方式建立的端到端连接。由上所述,本发明实施例的技术方案通过在即时通信客户端之间,以好友列表为基础,建立端对端的直接连接,形成了ー种新型的具有种网状结构的即时通信系统,即时通信客户端之间可以直接进行数据的交互,实现数据的共享,提高了资源的利用率。
本技术方案能够在即时通信系统中更快更高效地交互数据或信息,避免了现有技术中由于数据共享强依赖于服务器所帯来的问题,显著降低了服务器的压カ和负荷,即使服务器出现故障或异常,也能够向用户正常提供頂业务。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例一提供的一种即时通信客户端数据共享方法流程示意图;图2为本发明实施例ニ提供的即时通信客户端之间通讯方式的示意图;
图3为本发明实施例三提供的一种即时通信客户端数据共享系统结构示意图;图4为本发明实施例三提供的一种即时通信客户端数据共享系统另ー种结构示意图。
具体实施例方式下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例一提供了 ー种即时通信客户端数据共享方法,參见图I,所述方法包括11 :即时通信客户端登录后,获取自身好友列表中的好友信息和好友状态,所述好友状态指示好友客户端在线;12 :即时通信客户端通过网络地址转换NAT穿越方式与至少ー个在线好友客户端建立端到端连接;13:即时通信客户端和在线好友客户端利用所述端到端连接实现数据的共享。由上所述,本发明实施例的技术方案通过在即时通信客户端之间,以好友列表为基础,建立端对端的直接连接,形成了ー种新型的具有种网状结构的即时通信系统,即时通信客户端之间可以直接进行数据的交互,实现数据的共享,提高了资源的利用率。本技术方案能够在即时通信系统中更快更高效地交互数据或信息,避免了现有技术中由于数据共享强依赖于服务器所帯来的问题,显著降低了服务器的压カ和负荷,即使服务器出现故障或异常,也能够向用户正常提供頂业务。本发明实施例ニ也提供了一种即时通信客户端数据共享方法,具体如下11 :即时通信客户端登录后,获取自身好友列表中的好友信息和好友状态,所述好友状态指示好友客户端在线。即时通信客户端登录服务器之后或者登录服务器的同时,能够从服务器中得到其好友列表,以及好友列表中的好友信息和好友状态。上述好友信息可以包括好友姓名、年龄等个人资料,也可以包括当前好友客户端的区域位置信息(如IP地址)、好友客户端所支持的业务功能信息等。上述好友状态指示好友客户端当前处于在线状态,或者,好友客户端当前处于离线状态。即时通信客户端登录后处于在线状态。可以理解,上述的好友客户端也为即时通信客户端。在此,仅以一个即时通信客户端为例进行了说明,当系统中存在多个即时通信客户端时,每ー个即时通信客户端都可以按照本发明实施例所提供的方式进行处理。12 :即时通信客户端通过网络地址转换(Network Address Translation, NAT)穿越方式与至少ー个在线好友客户端建立端到端连接。本发明实施例中仅对于两个都处于在线状态的即时通信客户端建立端到端连接。所建立的端到端连接可以为传输控制协议(Transmi ssion Control Protocol,TCP)连接,也可以为用户数据包协议(User Datagram Protocol, UDP)连接,这时,只要在需要发送或获取信息之前能够保证连接通达即可。进ー步的,在建立端到端的直连之前,本方案还可以对所建立的连接进行择优选择,这时,所述方法还包括即时通信客户端根据所述好友信息和好友状态,按照业务特性和/或网络质量从多个在线好友客户端中选择至少ー个好友客户端建立端到端连接。上述业务特性和所建立连接所处网络的网络质量可以作为择优选择的选择标准,可以同时应用业务特性和网络质量进行选择,也可以仅应用其中的ー种进行选择。例如,即时通信客户端选取网络质量较好的好友客户端建立直连,从而使连接相对稳定,数据通讯更加通畅。通过这种处理方式,从多个可能的连接方式中选择ー个最优的连接路径,从而能够建立ー个性能更优的网状网络。示例性的,所述业务特性关联于客户端的区域位置时,如当业务为天气预报时,该业务特性通常是根据用户的区域信息而决定的。这时,可以在好友信息中携帯好友客户端的区域位置信息,即时通信客户端根据所述区域位置信息选取与自身位于同一区域的在线好友客户端建立端到端连接,并通过该直连连接向与自己同一区域的好友发起获取好友天 气预报信息的请求。这样处理方式避开了对服务器的强依赖,降低了服务器的压カ和负荷,保证了业务的稳定性。13:即时通信客户端和在线好友客户端利用所述端到端连接实现数据的共享。即时通信客户端和好友客户端之间可以推送多种信息和数据,如图片传送,天气预报信息获取,状态变更推送等,从而实现了彼此数据的共享,提高了资源的利用率。本发明实施例中即时通信客户端之间的信息推送采用预定的协议,而通讯方式则采用请求应答模式,參见图2,具体包括Tl :即时通信客户端向建立连接的好友客户端发送数据共享请求;T2 :好友客户端在接收到数据共享请求后,向即时通信客户端发送数据共享应答;T3 :即时通信客户端在接收到所述数据共享应答后,启动数据共享过程。只有当请求方收到应答后,才启动数据共享过程,从而保证数据能够成功传输;当请求方没有收到应答时,认为本次请求失败,这个时候请求方可以向其他已连接好友重新发起请求,或者从服务器获取相应的数据。
进ー步的,本技术方案能够很好的解决系统的群组中文件共享问题,例如,群图片的共享问题。传统的群图片共享技术,是发送图片者向服务器上传图片,然后群内所有在线人员去服务器下载该图片,由于即时通信客户端到服务器的网络状态不同,图片容量也有大有小,群图片的显示速度依赖于上传和下载速度,而且频繁的图片上传会对服务器造成较大的压力。采用本方案就能够很好地解决上述问题,显著降低服务器的压力,当服务器出现网路不稳定、响应速度慢的情况时,采用本方案可以在不利用服务器的情况下即可实现信息的推送和共享。在本方案中,群图片可以通过客户端到客户端的端到端连接进行发散式推广,快速地在多个客户端上显示。例如,当与即时通信客户端建立连接的好友客户端包括第一好友客户端和第二好友客户端时,即时通信客户端可以向第一好友客户端和第二好友客户端提供共享文件(如群图片),所述共享文件包括多个共享文件片段,该群图片在传输时是通过传输多个共享文件片段实现的。 当第一好友客户端从即时通信客户端接收到预定数量的共享文件片段后,如该共享文件片段包含了 10%的共享文件,则第一好友客户端通知第二好友客户端,以使第二好友客户端在与即时通信客户端进行数据交互的同时,也能够从第一好友客户端获取所述共享文件片段。即当第一好友客户端从原始共享数据源下载得到部分共享数据后,其本身也成为ー个共享数据源,可以向群组或网路中其他的客户端共享其已经获得的数据。第二好友客户端下载得到部分共享数据,也可以成为第一好友客户端,或第三、第四好友客户端的共享数据源,以此类推,群图片在多个即时通信客户端中进行发散式推送。上述第一好友客户端通知第二好友客户端的具体方式可以为第一好友客户端直接向第二好友客户端发送通知消息,这种方式下,操作更加简便,处理速度块;或者,第一好友客户端向服务器发送通知消息,由服务器将通知消息发送给第二好友客户端,这种处理方式,有利于利用服务器对数据共享进行管理。为了便于清楚描述本发明实施例的技术方案,在发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。进ー步的,状态订阅一直是頂软件最核心的部分之一,一旦用户修改自己的状态,服务器需要将该状态的变更推送到该用户的所有好友。这个信息量是十分惊人的。针对这ー问题,本方案所提供的数据共享方法还包括当即时通信客户端的状态发生变更吋,即时通信客户端通过所述端到端连接向所有建立连接的好友客户端推送状态变更信息。其中,对没有建立连接的在线好友和离线的好友可以由服务器负责通知,也可以当与这些好友建立端到端连接之后,再通知他们。通过上述方式,本方案为服务器解决了上述困扰,降低了用户状态变更时服务器所需推送的数据量。本技术方案至少可以实现如下有益效果I、在頂群,頂多人会话中,对快速高效地传输图片、传输共享文件有显著的效果。2、不仅提高客户端信息传递速度,而且能明显降低服务器端压カ和负荷。3、在服务器繁忙或者出现异常的情况下,实现了客户端对服务器功能实现的弱依赖,为该情况下的业务失效问题提供了解决方案。由上所述,本发明实施例的技术方案通过在即时通信客户端之间,以好友列表为基础,建立端对端的直接连接,形成了ー种新型的具有种网状结构的即时通信系统,即时通信客户端之间可以直接进行数据的交互,实现数据的共享,提高了资源的利用率。本技术方案能够在即时通信系统中更快更高效地交互数据或信息,避免了现有技术中由于数据共享强依赖于服务器所帯来的问题,显著降低了服务器的压カ和负荷,即使服务器出现故障或异常,也能够向用户正常提供頂业务。本发明实施例三还提供了 ー种即时通信客户端数据共享系统,參见图3,所述系统包括多个即时通信客户端31,所述即时通信客户端31登录后,获取自身好友列表中的好友信息和好友状态,所述好友状态指示好友客户端在线;所述即时通信客户端31与至少ー个在线好友客户端之间具 有通过NAT穿越方式建立的端到端连接。可以理解,上述好友客户端也是即时通信客户端,好友客户端是针对某一即时通信客户端而言。即时通信客户端包括多种类型的能够进行即时通信的无线终端(如手机)和有线终端(如计算机)。进ー步的,所述建立连接的好友客户端至少包括第一好友客户端和第二好友客户端,所述即时通信客户端向第一好友客户端和第二好友客户端提供共享文件,所述共享文件包括多个共享文件片段;当第一好友客户端从即时通信客户端接收到预定数量的共享文件片段后,第一好友客户端通知第二好友客户端,以使第二好友客户端在与即时通信客户端进行数据交互的同时,也能够从第一好友客户端获取所述共享文件片段。进ー步的,即时通信客户端根据所述好友信息和好友状态,按照业务特性和/或网络质量从多个在线好友客户端中选择至少ー个好友客户端建立端到端连接。进ー步的,參见图4,上述系统中还可以包括服务器32,以便于对数据共享进行管理和提供协助。图4中服务器与各即时通信客户端之间的连接可以采用现有系统中服务器与各即时通信客户端的连接方式(如图中虚线箭头所示)。本系统实施例中即时通信客户端之间数据共享的具体方式可以參见本发明的方法实施例。由上所述,本发明实施例的技术方案通过在即时通信客户端之间,以好友列表为基础,建立端对端的直接连接,形成了ー种新型的具有种网状结构的即时通信系统,即时通信客户端之间可以直接进行数据的交互,实现数据的共享,提高了资源的利用率。本技术方案能够在即时通信系统中更快更高效地交互数据或信息,避免了现有技术中由于数据共享强依赖于服务器所帯来的问题,显著降低了服务器的压カ和负荷,即使服务器出现故障或异常,也能够向用户正常提供頂业务。本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种即时通信客户端数据共享方法,其特征在于,所述方法包括 即时通信客户端登录后,获取自身好友列表中的好友信息和好友状态,所述好友状态指示好友客户端在线; 即时通信客户端通过网络地址转换NAT穿越方式与至少一个在线好友客户端建立端到端连接; 即时通信客户端和在线好友客户端利用所述端到端连接实现数据的共享。
2.根据权利要求I所述的方法,其特征在于,在即时通信客户端通过网络地址转换NAT穿越方式与至少一个在线好友客户端建立端到端连接之前,所述方法还包括 即时通信客户端根据所述好友信息和好友状态,按照业务特性和/或网络质量从多个在线好友客户端中选择至少一个好友客户端建立端到端连接。
3.根据权利要求2所述的方法,其特征在于, 当即时通信客户端根据所述好友信息和好友状态,按照业务特性从多个在线好友客户端中选择至少一个好友客户端建立端到端连接时,所述方法具体包括 所述业务特性关联于客户端的区域位置,所述好友信息包括好友客户端的区域位置信息, 即时通信客户端根据所述区域位置信息选取与自身位于同一区域的在线好友客户端建立端到端连接。
4.根据权利要求I所述的方法,其特征在于,所述即时通信客户端和在线好友客户端利用所述端到端连接实现数据的共享包括 即时通信客户端向建立连接的好友客户端发送数据共享请求; 好友客户端在接收到数据共享请求后,向即时通信客户端发送数据共享应答; 即时通信客户端在接收到所述数据共享应答后,启动数据共享过程。
5.根据权利要求4所述的方法,其特征在于,所述即时通信客户端和在线好友客户端利用所述端到端连接实现数据的共享包括 所述建立连接的好友客户端至少包括第一好友客户端和第二好友客户端,所述即时通信客户端向第一好友客户端和第二好友客户端提供共享文件,所述共享文件包括多个共享文件片段; 当第一好友客户端从即时通信客户端接收到预定数量的共享文件片段后,第一好友客户端通知第二好友客户端,以使第二好友客户端在与即时通信客户端进行数据交互的同时,也能够从第一好友客户端获取所述共享文件片段。
6.根据权利要求5所述的方法,其特征在于,所述第一好友客户端通过下述的至少一种方式通知第二好友客户端 第一好友客户端直接向第二好友客户端发送通知消息;或者, 第一好友客户端向服务器发送通知消息,由服务器将该通知消息发送至第二好友客户端。
7.根据权利要求4所述的方法,其特征在于,所述即时通信客户端和在线好友客户端利用所述端到端连接实现数据的共享包括 当即时通信客户端的状态发生变更时,即时通信客户端通过所述端到端连接向所有建立连接的好友客户端推送状态变更信息。
8.根据权利要求I所述的方法,其特征在于, 即时通信客户端通过NAT穿越方式与至少一个在线好友客户端建立的端到端连接为传输控制协议TCP连接或者为用户数据包协议UDP连接。
9.一种即时通信客户端数据共享系统,其特征在于,所述系统包括多个即时通信客户端, 所述即时通信客户端登录后,获取自身好友列表中的好友信息和好友状态,所述好友状态指示好友客户端在线; 所述即时通信客户端与至少一个在线好友客户端之间具有通过NAT穿越方式建立的端到端连接。
10.根据权利要求8所述的系统,其特征在于,· 所述建立连接的好友客户端至少包括第一好友客户端和第二好友客户端,所述即时通信客户端向第一好友客户端和第二好友客户端提供共享文件,所述共享文件包括多个共享文件片段; 当第一好友客户端从即时通信客户端接收到预定数量的共享文件片段后,第一好友客户端通知第二好友客户端,以使第二好友客户端在与即时通信客户端进行数据交互的同时,也能够从第一好友客户端获取所述共享文件片段。
全文摘要
本发明公开了一种即时通信客户端数据共享方法和系统,能够更快更高效地交互数据或信息,提高资源利用率,显著降低了服务器的压力和负荷。本发明实施例提供的即时通信客户端数据共享方法,包括即时通信客户端登录后,获取自身好友列表中的好友信息和好友状态,所述好友状态指示好友客户端在线;即时通信客户端通过NAT穿越方式与至少一个在线好友客户端建立端到端连接;即时通信客户端和在线好友客户端利用所述端到端连接实现数据的共享。
文档编号H04L12/58GK102857403SQ20111018223
公开日2013年1月2日 申请日期2011年6月30日 优先权日2011年6月30日
发明者刘玎 申请人:北京神州泰岳软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1