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

文档序号:9202698阅读:来源:国知局
05和第一解封装置106在封装装置107和第三发送装置108之前执行操作;本优选方案中,第一接收装置103包括第一子接收装置(图未示),第一客户端的封装装置107包括第一子封装装置(图未示)。第一子接收装置接收第二客户端根据所述基于RTMFP协议的消息反馈的、基于RTMFP协议封装的数据,第一子封装装置根据第一解封装置106获得的能够解读的信息,将需要反馈给所述第一客户端的数据封装为基于RTMFP协议的数据。
[0232]例如,第一客户端的第一发送装置102向第二客户端发送基于RTMFP协议的、用于向第二客户端请求数据的消息;第二客户端的第二接收装置105接收该用于请求数据的消息;第一解封装置106将第二接收装置105接收到的、基于RTMFP协议的消息解封为第二客户端能够解读的信息;第一子封装装置根据所述能够解读的信息,将第一客户端所请求的数据封装为基于RTMFP协议的数据;第三发送装置108将所述基于RTMFP协议的数据发送给第一客户端;第一客户端的第一子接收装置接收第二客户端根据所述基于RTMFP协议的消息反馈的、第一客户端所请求的数据。
[0233]作为另一种优选方案,第二客户端基于RTMFP协议封装的数据用于向第一客户端请求数据,第一发送装置102在第一接收装置103之后执行操作,第二接收装置105和第一解封装置106在封装装置107和第三发送装置108之后执行操作;并且,第一发送装置102包括第一子发送装置(图未示),第二接收装置105包括第二子接收装置(图未示)。第一子发送装置根据所述基于RTMFP协议封装的数据,向所述第二客户端反馈基于RTMFP协议的消息;第二子接收装置接收第一客户端根据所述基于RTMFP协议的数据反馈的、基于RTMFP协议的消息。。
[0234]例如,第二客户端的第三发送装置108将已封装的、基于RTMFP协议的、用于向第一客户端请求数据的数据发送给第一客户端;第一客户端的第一接收装置103接收到第二客户端基于RTMFP协议封装的、用于向第一客户端请求数据的数据;第一子发送装置根据第一接收装置103接收到的数据,向第二客户端反馈基于RTMFP协议的、第二客户端向第一客户端请求的数据;第二客户端的第二子接收装置接收第一客户端反馈的、基于RTMFP协议的消息,该基于RTMFP协议的消息中包括第二客户端所请求的数据;第一解封装置106将接收到的消息解封为第二客户端能够解读的信息。
[0235]根据本实施例的方案,基于RTMFP协议的第一客户端和基于非RTMFP协议的第二客户端能够基于第二客户端支持的P2P连接协议进行直接连接,且可在基于RTMFP协议的第一客户端和基于非RTMFP协议的第二客户端之间进行数据传输。
[0236]需要说明的是,尽管本实施例仅说明了一个第一客户端与一个第二客户端之间进行数据传输的过程。但本领域技术人员应当理解,多个第一客户端可构成使用RTMFP协议的P2P网络,并在该多个第一客户端之间进行基于RTMFP协议的P2P数据共享;并且,多个第二客户端可构成使用非RTMFP协议的P2P网络,并在该多个第二客户端之间进行基于非RTMFP协议的P2P数据共享。本实施例的方案可在该等2个使用不同协议的P2P网络的客户端之间实现直接的P2P数据共享,即可以在该等2个使用不同协议的P2P网络之间实现数据共享。
[0237]图8为本发明的一个实施例的、基于图2所示的P2P系统实现的第一网络设备与第二客户端之间传输消息的结构示意图。其中,第二客户端包括第二传输装置,第二传输装置进一步包括第三接收装置201和第二解封装置202。
[0238]第一网络设备向第二客户端发送消息。
[0239]其中,所述消息包括任何可由第一网络设备发送至第二客户端的消息。优选地,所述消息包括但不限于:
[0240]I)由第一网络设备主动向第二客户端发送的消息。例如,该消息包括第一网络设备转发的连接请求,该连接请求由第一客户端发送给第一网络设备,第一网络设备可通过该连接请求通知第二客户端与第一客户端建立连接。
[0241]2)第一网络设备根据来自第一客户端的请求而向该第一客户端反馈的消息。例如,第一网络设备根据来自第一客户端的节点获取请求而向该第一客户端反馈的节点信肩、O
[0242]第三接收装置201接收来自第一网络设备的、基于RTMFP协议的消息。
[0243]第二解封装置202将所述来自第一网络设备的、基于RTMFP协议的消息解封为所述第二客户端能够解读的信息,并执行相应操作。
[0244]具体地,第二解封装置202将所述来自第一网络设备的消息解封为所述第二客户端能够解读的信息,根据所述能够解读的信息确定需要执行的操作,并执行所述操作。
[0245]例如,第二解封装置202将所述来自第一网络设备的消息解封为所述第二客户端能够解读的信息,并根据所述能够解读的信息确定来自第一网络设备的消息用于通知第二客户端与第一客户端建立直接连接,则第二解封装置202接收第一客户端的连接请求来建立直接连接。
[0246]又例如,第二解封装置202将所述来自第一网络设备的消息解封为所述第二客户端能够解读的信息,并从所述能够解读的信息中获得第一网络设备反馈的节点信息,则第二解封装置202根据所述节点信息连接至所述节点信息对应的客户端以获取数据。
[0247]其中,第二解封装置202将所述来自第一网络设备的消息解封为所述第二客户端能够解读的信息的实现方式与参照图7中第一解封装置106将来自第一客户端的、基于RTMFP协议的消息解封为所述第二客户端能够解读的信息的实现方式相同或者相似,在此不再赘述。
[0248]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何将所述来自第一网络设备的消息解封为所述第二客户端能够解读的信息,并执行相应操作的实现方式,均应包含在本发明的范围内。
[0249]根据本实施例的方案,可在基于RTMFP协议的第一网络设备与基于非RTMFP协议的第二客户端之间进行数据传输。
[0250]图9为本发明的一个实施例的、在图2所示的P2P系统中的第一客户端与第二客户端之间建立直接连接的系统结构示意图。其中,第一网络设备包括注册装置301、第四接收装置302和提供装置303 ;第一客户端包括第一传输装置,第一传输装置进一步包括第二发送装置304和第一子连接装置305 ;第二客户端包括第二传输装置。
[0251]第一客户端向第一网络设备发送注册请求。
[0252]其中,第一客户端向第一网络设备发送的注册请求中包括第一客户端的标识信肩、O
[0253]第二客户端向第一网络设备发送注册请求。
[0254]其中,第二客户端向第一网络设备发送的注册请求中包括第二客户端的标识信肩、O
[0255]第一网络设备的注册装置301分别接收第一客户端的注册请求、第二客户端的注册请求,以实现第一客户端与第二客户端在该第一网络设备上的注册。
[0256]具体地,注册装置301接收第一客户端的注册请求,并根据所述注册请求实现第一客户端在第一网络设备中的注册;注册装置301接收第二客户端的注册请求,并根据所述注册请求实现第二客户端在第一网络设备中的注册。
[0257]需要说明的是,注册装置301接收第一客户端的注册请求的操作与注册装置301接收第二客户端的注册请求的操作的执行并无先后顺序,注册装置301接收第一客户端的注册请求的操作的执行时间仅与第一客户端向第一网络设备发送注册请求的时间以及网络的传输性能有关,注册装置301接收第二客户端的注册请求的操作的执行时间仅与第二客户端向第一网络设备发送注册请求的时间以及网络的传输性能有关。
[0258]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何分别接收第一客户端的注册请求、第二客户端的注册请求,以实现第一客户端与第二客户端在该第一网络设备上的注册的实现方式,均应包含在本发明的范围内。
[0259]第一客户端的第二发送装置304向为第一客户端提供P2P节点信息的、基于RTMFP协议的第一网络设备发送节点获取请求,该节点获取请求用于请求获取维护该第一客户端所请求的数据的节点信息。
[0260]例如,第二发送装置304向第一网络设备发送节点获取请求,来获取维护一个视频的视频数据的节点信息,该节点获取请求中包括该视频的标识信息。
[0261]第一网络设备根据接收到的节点获取请求获取节点信息,并将该节点信息发送至第一客户端。
[0262]例如,第一网络设备根据接收到的节点获取请求获取维护第一客户端所请求的视频数据的节点信息,并将该节点信息发送至第一客户端。
[0263]当所述节点信息包含至少一个第二客户端的标识信息时,第一客户端的第一子连接装置305根据该至少一个第二客户端中的一个或多个的标识信息来向第一网络设备发送连接请求,并向所述一个或多个第二客户端发起直接连接请求,以与所述一个或多个第二客户端建立直接连接。
[0264]当接收到的所述节点信息包含至少一个第二客户端的标识信息时,第一子连接装置305根据该至少一个第二客户端的标识信息,向第一网络设备发送连接请求。
[0265]例如,当接收到的节点信息包括第二客户端P和第二客户端Q,则第一子连接装置305根据第二客户端P和第二客户端Q的标识信息向第一网络设备发送连接请求,以请求连接至第二客户端P和第二客户端Q。
[0266]第一子连接装置305向所述第二客户端发起直接连接请求,以与第二客户端之间建立直接连接。
[0267]需要说明的是,第一子连接装置305可重复执行操作来向所述第二客户端发起直接连接请求,直到第一客户端与第二客户端建立直接连接。
[0268]需要说明的是,第一子连接装置305所执行的根据该至少一个第二客户端的标识信息,向第一网络设备发送连接请求的操作与第一子连接装置305所执行的向第二客户端发起直接连接请求,以与第二客户端之间建立直接连接的操作并无严格的先后顺序,例如,第一客户端可在执行操作来根据该至少一个第二客户端的标识信息,向第一网络设备发送连接请求一定时间之后,再执行操作来向第二客户端发起直接连接请求;又如,第一子连接装置305可在执行操作来根据该至少一个第二客户端的标识信息,向第一网络设备发送连接请求的同时,执行操作来向第二客户端发起直接连接请求,并当未成功连接至第二客户端时,重复执行操作来向第二客户端发起直接连接请求,直至与第二客户端建立直接连接。
[0269]需要说明的是,当所述节点信息包含至少一个其它第一客户端时,第一子连接装置305还可直接连接至所述至少一个其它第一客户端,来获取其所需要的数据。
[0270]需要说明的是,上述举例仅为更好地说明本发明的技术方案,而非对本发明的限制,本领域技术人员应该理解,任何当所述节点信息包含至少一个第二客户端的标识信息时,第一客户端与所述至少一个第二客户端建立直接连接的实现方式,均应包含在本发明的范围内。
[0271]第一网络设备的第四接收装置302接收来自所述第一客户端的连接请求,该连接请求用于请求与第二客户端进行基于P2P的直接连接。
[0272]第一网络设备的提供装置303将所述连接请求提供给第二客户端,以使第一客户端与第二客户端能够建立基于P2P的直接连接。
[0273]具体地,提供装置303根据第四接收装置302所接收到的、来自第一客户端的连接请求,确定第一客户端要连接至的第二客户端,并将所述连接请求提供给该第二客户端,以通知该第二客户端与第一客户端建立直接基于P2P的直接连接。
[0274]需要说明的是,第一客户端的第一子连接装置305所执行的向所述第二客户端发起直接连接请求,以与第二客户端之间建立直接连接的操作与第一网络设备的第四接收装置302和提供装置303执行的操作并无严格的先后顺序。例如,第一客户端的第一子连接装置305向第一网络设备发送连接请求时,第一网络设备的第四接收装置302和提供装置303可执行操作,以通知第二客户端与第一客户端建立直接连接;当第二客户端根据其接收到第一网络设备发送的连接请求与第一客户端进行直接连接时,第一客户端的第一子连接装置305同时执行向第二客户端发起直接连接请求的操作,来完成与第二客户端之间的连接。
[0275]根据本实施例的方案,基于RTMFP协议的第一网络设备可同时为基于非RTMFP协议的第一客户端和基于RTMFP协议的第二客户端提供P2P节点信息,且第一客户端可直接与第一网络设备进行数据交互,从而可实现第一客户端与第二客户端之间的直接连接。
[0276]需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的装置可采用专
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1