一种基于p2p的数据传输方法、装置和系统的制作方法

文档序号:9202698阅读:168来源:国知局
一种基于p2p的数据传输方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及P2P网络技术领域,尤其涉及一种基于P2P的数据传输方法、装置和系统。
【背景技术】
[0002]RTMFP是Adobe公司开发的通信协议,该协议可使得Adobe Flash Player客户端之间能够进行基于P2P协议的数据共享。此外,现有技术中,还存在基于其他协议的P2P,如基于TCP协议的P2P,且采用TCP协议的客户端之间能够实现P2P数据共享。然而,现有技术中,使用不同协议的客户端之间,不能进行数据共享,也即,数据共享仅能在采用相同协议的客户端构成的网络中实现。

【发明内容】

[0003]本发明的目的是提供一种基于P2P的数据传输方法、装置和系统。
[0004]根据本发明的一个方面,提供一种在基于RTMFP协议的第一客户端中与基于非RTMFP协议的第二客户端进行基于P 2 P的数据传输的方法,其中,所述第一客户端基于flash实现,该方法包括以下步骤:
[0005]a基于所述第二客户端支持的P2P连接协议,与所述第二客户端建立直接连接;
[0006]其中,该方法还包括以下步骤:
[0007]m向所述第二客户端发送基于RTMFP协议的消息;以及
[0008]X接收所述第二客户端基于RTMFP协议封装的数据。
[0009]根据本发明的另一个方面,还提供了一种在基于非RTMFP协议的第二客户端中与基于RTMFP协议的第一客户端进行基于P2P的数据传输的方法,其中,所述第一客户端基于flash实现,该方法包括以下步骤:
[0010]A基于所述第二客户端支持的P2P连接协议,与所述第一客户端建立直接连接;
[0011]其中,该方法还包括以下步骤:
[0012]M接收来自第一客户端的、基于RTMFP协议的消息;
[0013]N将所述基于RTMFP协议的消息解封为所述第二客户端能够解读的信息;
[0014]其中,该方法还包括以下步骤:
[0015]X将需要发送给所述第一客户端的数据封装为基于RTMFP协议的数据;
[0016]Y将所述基于RTMFP协议的数据发送给所述第一客户端。
[0017]根据本发明的另一方面,还提供了一种在基于RTMFP协议的第一客户端中与基于非RTMFP协议的第二客户端进行基于P2P的数据传输的第一传输装置,其中,所述第一客户端基于flash实现,该第一传输装置包括以下装置:
[0018]第一连接装置,用于基于所述第二客户端支持的P2P连接协议,与所述第二客户端建立直接连接;
[0019]第一发送装置,用于向所述第二客户端发送基于RTMFP协议的消息;以及
[0020]第一接收装置,用于接收所述第二客户端基于RTMFP协议封装的数据。
[0021]根据本发明的另一方面,还提供了一种在基于非RTMFP协议的第二客户端中与基于RTMFP协议的第一客户端进行基于P2P的数据传输的第二传输装置,其中,所述第一客户端基于flash实现,该第二传输装置包括以下装置:
[0022]第二连接装置,用于基于所述第二客户端支持的P2P连接协议,与所述第一客户端建立直接连接;
[0023]第二接收装置,用于接收来自第一客户端的、基于RTMFP协议的消息;
[0024]第一解封装置,用于将所述基于RTMFP协议的消息解封为所述第二客户端能够解读的信息;
[0025]封装装置,将需要发送给所述第一客户端的数据封装为基于RTMFP协议的数据;
[0026]第三发送装置,用于将所述基于RTMFP协议的数据发送给所述第一客户端。
[0027]根据本发明的另一方面,还提供了一种第一客户端,所述第一客户端包括本发明的第一传输装置。
[0028]根据本发明的另一方面,还提供了一种第二客户端,所述第二客户端包括本发明的第二传输装置。
[0029]根据本发明的另一方面,还提供了一种P2P系统,该P2P系统包括第一客户端、第二客户端以及基于RTMFP协议的第一网络设备,其中,所述第一网络设备包括:
[0030]注册装置,用于接收所述第一客户端和所述第二客户端的注册请求,以实现所述第一客户端与所述第二客户端在所述第一网络设备上的注册;
[0031]第四接收装置,用于接收来自所述第一客户端或第二客户端中一者的连接请求,该连接请求用于请求所述一者与所述第一客户端或第二客户端中的另一者进行基于P2P的直接连接;
[0032]提供装置,用于将所述连接请求提供给所述另一者,以使第一客户端与第二客户端能够建立基于P2P的直接连接。
[0033]根据本发明的另一方面,还提供了一种P2P系统,该P2P系统包括第一客户端、第二客户端、基于RTMFP协议的第一网络设备以及基于非RTMFP协议的第二网络设备,其中,所述第一客户端注册至所述第一网络设备,所述第二客户端注册至所述第二网络设备,所述第一网络设备与所述第二网络设备之间能够交互消息。
[0034]与现有技术相比,本发明具有以下优点:1)基于RTMFP协议的第一客户端和基于非RTMFP协议的第二客户端基于第二客户端支持的P2P连接协议进行直接连接,且可在基于RTMFP协议的第一客户端和基于非RTMFP协议的第二客户端之间进行数据传输;2)可在2个使用不同协议的P2P网络的客户端之间实现直接的P2P数据共享,即数据可以在该等2个使用不同协议的P2P网络之间共享。
【附图说明】
[0035]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0036]图1为本发明的一个实施例的基于RTMFP协议的第一客户端与基于非RTMFP协议的第二客户端进行基于P2P的数据传输的方法的流程示意图;
[0037]图2为本发明的一个实施例的P2P系统的结构示意图;
[0038]图3为本发明的一个实施例的、基于图2所示的P2P系统实现的第一网络设备与第二客户端之间传输消息的流程示意图;
[0039]图4为本发明的一个实施例的、基于图2所示的P2P系统实现的第一客户端与第二客户端之间建立直接连接的流程示意图;
[0040]图5为本发明的另一个实施例的P2P系统的结构示意图;
[0041]图6为本发明的一个实施例的、基于图5所示的P2P系统实现的第一客户端与第二客户端之间建立直接连接的流程流程图;
[0042]图7为本发明的一个实施例的基于RTMFP协议的第一客户端与基于非RTMFP协议的第二客户端进行基于P2P的数据传输的P2P系统的结构示意图;
[0043]图8为本发明的一个实施例的第一网络设备与第二客户端之间传输消息的结构示意图;
[0044]图9为本发明的一个实施例的第一客户端与第二客户端之间建立直接连接的系统结构示意图。
[0045]附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0046]下面结合附图对本发明作进一步详细描述。
[0047]图1为本发明的一个优选实施例的基于RTMFP协议的第一客户端与基于非RTMFP协议的第二客户端进行基于P2P的数据传输的方法的流程示意图。其中,本实施例的方法主要通过基于RTMFP协议的第一客户端和基于非RTMFP协议的第二客户端来实现,所述第一客户端基于flash实现;其中,所述非RTMFP协议包括任何可用于P2P网络中的非RTMFP通信协议,如TCP协议、公司或个人使用的私有非RTMFP通信协议等。
[0048]需要说明的是,所述第一客户端和所述第二客户端仅为举例,其他现有的或今后可能出现的第一客户端和第二客户端如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
[0049]根据本实施例的方法包括步骤S101、步骤S102、步骤S103、步骤S104、步骤S105、步骤S106和步骤S107。
[0050]在步骤SlOl中,第一客户端和第二客户端基于第二客户端支持的P2P连接协议,互相建立直接连接。
[0051]其中,所述直接连接表示第一客户端或第二客户端中的一者获得了能够直接指向另一者的地址信息,而不表示第一客户端与第二客户端之间不存在其他用于传递信息的设备。也即,当第一客户端或第二客户端中的一者在消息中加入上述能够直接指向另一者的地址信息后,收到该消息的其他设备能够根据该地址信息直接传递该消息,直至该消息被发送至第一客户端或第二客户端中的另一者,而无需由诸如交换机等设备在收到消息后,根据地址信息以外的其他信息来判断该消息应当被分配给哪个设备。
[0052]其中,在第一客户端中,可采用多种方式基于flash进行开发,使得第一客户端能够支持第二客户端所使用的P2P连接协议。例如,可采用Act1nscript技术基于flash进行开发;又例如,可采用Adobe Flascc技术基于flash进行开发。
[0053]其中,所述直接连接可由第一客户端主动发起,也可由第二客户端主动发起。如当第一客户端需要向第二客户端发送用于向该第二客户端请求数据的数据获取请求时,第一客户端需先向第二客户端主动发起直接连接;又如当第二客户端需要向第一客户端发送用于向该第一客户端请求数据的数据获取请求时,第二客户端需先向第一客户端主动发起直接连接。第一客户端和第二客户端基于第二客户端支持的P2P连接协议建立直接连接的更详细的实现方式,将在后续实施例中予以详细描述。
[0054]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何第一客户端和第二客户端基于第二客户端支持的P2P连接协议,互相建立直接连接的实现方式,均应包含在本发明的范围内。
[0055]在互相建立连接后,第一客户端可通过执行下述步骤S102和步骤S103来向第二客户端发送或接收消息。
[0056]在步骤S102中,第一客户端向第二客户端发送基于RTMFP协议的消息。
[0057]其中,第一客户端向第二客户端发送的基于RTMFP协议的消息包括任何可由第一客户端发送至第二客户端的信息。优选地,第一客户端向第二客户端发送的基于RTMFP协议的消息包括但不限于:
[0058]I)第一客户端用于向第二客户端请求数据的数据获取请求;
[0059]2)第一客户端根据所接收到的来自第二客户端的数据确定的、需要反馈至第二客户端的数据。
[0060]优选地,第一客户端向第二客户端发送基于RTMFP协议的消息的实现方式包括:第一客户端将需要发送给第二客户端的消息封装为HTTP格式的消息;然后,第一客户端将所述HTTP格式的消息封装为基于RTMFP协议的消息;最后,第一客户端将所述基于RTMFP协议的消息发送至第二客户端。
[0061]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何向第二客户端发送基于RTMFP协议的消息的实现方式,均应包含在本发明的范围内。
[0062]在步骤S103中,第一客户端接收第二客户端基于RTMFP协议封装的数据。
[0063]其中,所述基于RTMFP协议封装的数据包括任何基于RTMFP协议封装的、可由第二客户端发送至第一客户端的信息,优选地,所述基于RTMFP协议封装的数据包括但不限于:
[0064]I)第二客户端用于向第一客户端请求数据的数据获取请求;
[0065]2)第二客户端根据所接收到的来自第一客户端的数据确定的、需要反馈至第一客户端的数据。
[0066]需要说明的是,第一客户端接收到第二客户端基于RTMFP协议封装的数据后,可根据所述基于RTMFP协议封装的数据,执行相应的操作。例如,若所述基于RTMFP协议封装的数据用于向第一客户端请求数据,则第一客户端获取第二客户端所请求的数据;又如,若所述基于RTMFP协议封装的数据为第二客户端反馈的视频数据,则第一客户端可存储并播放所述视频数据。
[0067]此外,尽管为了方便起见,在图1中,步骤S102位于步骤S103之前,但实际上,步骤S102与步骤S103之间可并无先后顺序。例如,第一客户端可先向第二客户端发送消息,再接收第二客户端反馈的数据;或者,第一客户端可先接收第二客户端提供的数据,再向第二客户端反馈消息等。
[0068]在互相建立连接后,第二客户端可通过执行下述步骤S104、步骤S105、步骤S106和步骤S107来向第一客户端发送或接收消息。
[0069]以下说明通过步骤S104和S105实现的、第二客户端接收来自第一客
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1