专利名称::实现流媒体数据传输的方法和路由装置的制作方法
技术领域:
:本发明涉及流媒体数据在以太网中的传输
技术领域:
,特别涉及一种实现流媒体数据传输的方法和路由装置。
背景技术:
:网络作为一种重要的通信载体,被用来对人们生产、生活中形形色色的业务数据进行传输,主要包括三种通信模式单播、广播和组播(多播)。由于广播传输方式的使用范围被限制在二层交换机的局域网内部,因此,常见的业务数据传输方式仅能够在单播和组播两种方式中加以选择。从理论上来说,组播传输方式既能够一次将数据传输给多个有需要(加入组)的主机,又不会对其他不需要(未加入组)的主机通信造成影响,因此同时具备单播和广播的优点,最具有发展前景。但就实际使用的情况,组播协议与单播协议相比没有纠错机制,且组播传输方式在客户认证、服务质量(QualityofService,简称QOS)等方面还需要完善,因此其应用范围远远小于单播,这就导致目前大量的业务数据还必须依靠单播的方式进行传输,特别是对质量要求较高的流媒体数据传输。在现有技术中,通过单播方式进行流媒体数据传输的组网示意图如图1所示,包括流媒体服务器100、中间网络200、接入路由器300和具有解码能力的客户端400。该单播方式的一般过程为流媒体服务器100提供流媒体源,客户端400接在接入路由器300上(图1中以接入一个接入路由器300为例);客户端400通过接入路由器300向流媒体服务器100发出点播请求,流媒体服务器100釆用单播方式向客户端400发送流媒体数据,其中,点播请求报文和流媒体数据报文都通过中间网络200转发。可以看出,在单播方式下,流媒体服务器要针对每个客户端发送一份流媒体数据,以实现个性化服务。这就导致了以下两点问题1、对流媒体服务器的性能提出了很高的要求,且容易造成服务质量下降;显然,服务器中的流量为其全部客户端的流量之和;因此,当有大量客户端在同一个流媒体服务器进行业务点播时,流媒体服务器往往不堪重负,这种情况下,要保证流媒体数据的正常发送,无疑对流媒体服务器的性能提出了很高的要求;同时,当达到流媒体服务器性能所能承受的范围时,必然导致服务质量下降,此时,不仅后来点播者的流媒体播放效果会受到影响,该流媒体服务器正在提供服务的所有客户端的流媒体播放效果都会恶化。2、给中间网络带来了巨大的带宽压力,同样容易造成服务质量下降;由于流媒体数据需要占用大量的网络流量,因此,当有大量用户在同一个流媒体服务器进行业务点播时,传输这些流媒体数据的中间网络必然面对沉重的带宽压力;而网络的带宽不足,也必然造成服务质量下降。综上所述,目前流媒体数据传输方案存在着诸多缺陷,而现有技术中并未提供行之有效的解决方案。
发明内容本发明的目的是提供一种实现流媒体数据传输的技术方案,以减小现有单播技术中流媒体服务器和中间网络所面临的巨大带宽压力。为实现上述目的,本发明的实施例提供了一种实现流媒体数据传输的方法,适用于在流媒体源和接入的客户端之间提供数据转发的路由装置;包括以下步骤步骤1、终止客户端对一流媒体源的请求指令,关联记录该流媒体源信息与该客户端信息,并分别维护到该客户端和该流媒体源的连接;步骤2、根据该流媒体源关联的客户端信息,对从该流媒体源接收的数据进行复制并分别单播给所关联的客户端。本发明的实施例还提供了一种实现流媒体数据传输的路由装置,用于在流媒体源和接入的客户端之间提供数据转发,包括记录单元,用于记录并保存客户端和流媒体源的关联信息;客户端维护单元,用于接收接入的客户端对流媒体源的请求指令,终止请求指令并维护与该客户端的连接,以及触发记录单元记录所述关联信息;流媒体源维护单元,与记录单元连接,用于维护与记录单元中所记录流媒体源的连接,以及从流媒体源接收数据;复制单播单元,分别与该记录单元和流媒体源维护单元连接,用于根据该流媒体源在记录单元中关联的客户端信息,对该数据进行复制并分别单播给该客户端。由上述技术方案可知,本发明通过代理流媒体源和客户端之间的数据交互,采用在流媒体源之外进行数据复制并单播发送的方式,具有以下有益效果1、降低了对流媒体源性能的要求;2、降低了对中间网络的带宽压力;3、保证了服务质量;4、简单易行。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。图1为现有技术中通过单播方式进行流媒体数据传输的组网示意图;图2为本发明提供的实现流媒体数据传输的方法一实施例的流程图;图3为本发明提供的方法中,实时监测所记录客户端信息变化的实施例的流程图;图4为本发明提供的方法中,支持原有客户端随时退出的实施例的流程图;图5为本发明提供的通过路由装置代理客户端进行认证,实现流媒体数据传输的方法一实施例的流程图;图6为本发明提供的实现流媒体数据传输的路由装置一实施例的框图;图7为图6所示装置中记录单元的一实施例框图;图8为本发明提供的实现流媒体数据传输的路由装置另一实施例的框图。具体实施方式为了克服现有技术中通过单播方式进行流媒体数据传输时给流媒体源和中间网络带来的沉重压力,本发明通过将流媒体源和接入的用户终端之间的路由装置作为流媒体源和用户终端之间信息交互的代理,并将流媒体源数据在流媒体源之外加以复制,以单播的形式实现组播的功能。其中,本发明所提供的实现流媒体数据传输的方法,适用于在流媒体源和接入的客户端之间提供数据转发的路由装置,包括以下步骤步骤1、终止客户端对一流媒体源的请求指令,关联记录该流媒体源信息与该客户端信息,并分别维护到该客户端和该流媒体源的连接;步骤2、根据所述流媒体源关联的客户端信息,对从所述流媒体源接收的数据进行复制并分别单播给所关联的客户端。在本发明中,以路由装置预设有路由代理表来记录流媒体源信息与客户端信息为例进行说明,但可以理解,所谓路由代理表,是一种记录信息的载体,可以以列表的形式存在,也可以以程序段等形式存在。命名为路由代理表仅为说明方便而非局限。下面通过实施例1实施例5对本发明本发明所提供的实现流媒体数据传输的方法的具体方案进行详细描述。实施例1:请参考图2,本实施例1包括以下步骤S1-1、当接收到客户端对一流媒体源的请求指令时,终止该请求指令并维护其与所述客户端的连接;一般来说,客户端请求一流媒体源数据时,会通过其接入的路由器向流媒体源发出请求,该请求中携带有客户端信息,以便当流媒体源可以根据该请求,向客户端返回相应的流媒体数据,并由此导致了多个用户向同一个流媒体源请求时,流媒体源要同时返回多份数据,进而造成了对流媒体源和中间网络的压力。但在本实施例1中,由于路由装置接收到客户端的请求时即行终止该请求指令,从而保证流媒体源不会获得该客户端信息。需要指出,在保证流媒体源不会获得该客户端的信息的同时,路由装置必须将原本流媒体源对客户端的连接维护工作转移过来,以保证从客户端角度而言,并不会发生使用感受上的差别。具体的,路由装置可以通过心跳报文来维护与所述客户端的连接当在预设时间内接收到客户端的心跳报文时,表明连接正常,否则表明连接断开。S1-2、识别预设的路由代理表中是否己记录该流媒体源信息;由于路由装置中断了流媒体源与客户端之间的交流,因此必须对其加以记录,以确保从流媒体源和客户端两个方向发来的数据都能够找到下一跳路径。在本实施例1中,通过预设路由代理表来实现。其中,该路由代理表初始化时为空,用于关联记录客户端信息和流媒体源信息。S1-3、是则,将该客户端信息添加到路由代理表中,使之与该流媒体源信息关联,并执行步骤S1-6;以该路由代理表为列表形式为例,关联的具体方式可以为在流媒体源信息项下添加该客户端信息,也可以是复制该流媒体源信息作为列表中的一个新项,并在其下添加该客户端信息。该客户端信息可以为客户端的IP地址和/或端口号。S1-4、否则,将该客户端信息和该流媒体源信息关联添加到路由代理表中;仍以列表形式为例,关联添加的具体方式可以为新建流媒体源信息项,并在该项下添加该客户端信息。该流媒体源信息可以为流媒体源的IP地址、端口号和/或流媒体源ID号。一般来说,一个流媒体服务器往往包括多个流媒体源,则此时,流媒体源的IP地址相同,必须再通过流媒体ID号加以区分。S1-5、向流媒体源发送请求指令并维护与该流媒体源的连接;由于原路由代理表中不存在相应的流媒体源信息,说明此前尚未有客户端对该流媒体源发出请求,则此时,由路由装置发出请求。具体的,向流媒体源发送请求指令可以通过以下方式实现将客户端对所述流媒体源请求指令的源IP地址修改为本地IP地址。与客户端类似,路由装置必须将原本客户端对流媒体源的连接维护工作转移过来,以保证从流媒体源角度而言,不会发生使用感受上的差别。具体的,路由装置可以通过心跳报文来维护与所述流媒体源的连接当在预设时间内接收到流媒体源的心跳报文时,表明连接正常,否则表明连接断开。从步骤S1-3至步骤S1-5可以看出,路由装置在终结客户端的请求报文后,将代替客户端向流媒体源发出请求,则流媒体源所记录的对象,仅为该路由装置。正是基于这一点,当识别路由代理表中已经存在一流媒体源信息时,说明该流媒体源已经接收到了本路由装置的请求,因此无需再次向流媒体源发出请求。显然,从流媒体源的角度来说,对于每一个路由装置,该流媒体源仅收到一次请求,而该路由装置则可能已经终结并记录了多次从客户端发出的请求。S1-6、根据流媒体源在路由代理表中关联的客户端信息,对从流媒体源接收的数据进行复制并分别单播给该客户端;由于流媒体源对于一个路由装置仅收到一次请求,因此流媒体源仅需要向该路由装置发送一份多媒体数据,而不必针对路由装置下的多个客户端分别发送相同的多媒体数据;针对客户端进行多媒体数据发送的工作被转移给了路由装置进行。显然,这对于流媒体源的性能要求就大大降低了,也有效的避免了流媒体源与路由装置之间中间网络的压力。具体的,对从该流媒体源接收的数据进行复制并分别单播给客户端可以通过以下方式实现根据流媒体源在路由代理表中关联的客户端信息对数据进行复制,将复制后数据的目的IP地址修改为相应客户端的IP地址并发送。其中,进行数据复制的数目可根据管理员对路由装置的设置确定,只要复制得到客户端数目份数据即可。一般来说,路由装置收到流媒体源发出的数据流,如果只有一个请求客户端,路由装置可以直接修改IP地址,并将该数据源发送给该客户端;如果有两个(或以上)的客户端点播同一个流媒体源,路由器复制两份(或以上),分别单播发送给客户端。在这一过程中,路由装置本身一般不保存数据流。需要指出,步骤S1-1至步骤S1-5与步骤S1-6并不存在严格的时序关系,即可以在步骤S1-6之前发生,也可以在歩骤S1-6的同时发生。这就导致了存在两种不同的处理方式第一种,是从流媒体源接收到数据时,根据流媒体源当前在路由代理表中关联的客户端信息,对该数据进行复制并分别单播给相应客户端;这种情况相对简单,但对于在流媒体源数据传输期间收到客户端请求的情况,则无法进行处理;也就是说,这种处理方式下,只有步骤S1-6之前执行步骤S1-1至步骤S1-5的客户端,才能够获得复制的数据。第二种,则是在流媒体数据传输过程中实时支持客户端变化,即无论步骤S1-1至步骤S1-5在步骤S1-6之前,或者在步骤S1-6的同时发生,都能够得到复制的数据。其具体实现方案通过下述实施例2和实施例3加以描述。实施例2:为了实现流媒体数据传输过程中,能够实时支持路由代理表中客户端信息的变化,本实施例2提供了以下技术方案,请参考图3,包括以下步骤S2-6-1、实施监测流媒体源在路由代理表中关联的客户端信息是否发生变化;该变化可以包括有新的客户端提出对该流媒体源的请求而加入,或者,原有的客户端中止了从该流媒体源接收数据的操作而退出。S2-6-2、未发生变化,则保持当前的复制单播状态;S2-6-3、发生变化,根据变化后的客户端信息,对接收到的数据进行复制并分别单播给客户端。可以看出,复制的数量能够随着路由代理表中信息的变化实时更新,因此在流媒体数据传输过程中提出请求的客户端可自路由装置收到请求并处理的一刻起,就开始接收所请求的流媒体数据,当然,这时候由于流媒体数据己经传输了一段时间,因此接收到的流媒体数据往往并不是完整的数据,即客户端开始解码播放的部分可能是流媒体节目的中间部分;这与日常生活中收看电视节目类似,随时打开随时收看,但只能从电视打开时那一刻播放的节目起收看。但是这种方式下,能够随时满足客户端的收看要求。进一歩的,如果给路由装置设置一个外挂数据库,用于暂时保存当前正在复制的流媒体数据,则能够实现根据客户端的请求完整发送流媒体数据的目的;该暂存的流媒体数据如果在被转发完成的一段时间内没有被其他客户端请求,将被清空。这种技术方案对本领域技术人员而言是可以实现的,不再赘述。相应的,在流媒体数据传输过程中退出的客户端可自路由装置处理的一刻起,就不会再收到路由装置发送的流媒体数据,而路由装置也无需进行该份数据的复制工作。总的来说,实施例2所提供的技术方案能够根据客户端情况的变化随时对复制数量进行调整。其中,步骤S2-6-1至步骤S2-6-3所监测的是客户端的随时加入和随时退出。具体的,通过实施例1中的步骤S1-1和步骤S1-5,就能够实现在从流媒体源接收数据的过程中新客户端的随时加入;而下述实施例3所提供的方案能够在从流媒体源接收数据的过程中支持原有客户端的随时退出。实施例3:请参考图4,实施例3描述了一种实现流媒体数据传输的方法,在从流媒体源接收数据的过程中支持原有客户端的随时退出;具体方案为,在实施例1或实施例2的基础上,还包括以下步骤S3-7、路由装置监测到一客户端退出一媒体源;可以以两种情况来举例说明第一种,路由装置接收到客户端对一流媒体源的退出指令;第二种,路由装置在预设时间内未收到客户端的心跳报文,从而监测到与客户端的连接关系断开。为了实现这一方案,可由路由装置为该客户端启动一个计时器,如果计时器超时,则路由设备认为该客户端已经退出点播。具体的超时时间可由使用者根据实际需要设置。S3-8、识别所述路由代理表中该流媒体源是否关联有其他客户端;S3-9、是则,删除该客户端信息;53-10、否则,删除该客户端信息和该流媒体源信息,并向该流媒体源发送退出指令。则当实时监测到流媒体源在路由代理表中关联的客户端减少时,将重新调整复制操作,减少复制份数。实施例4:从上述实施例1~实施例3可以看出,流媒体源所了解的仅仅为路由装置的信息,而客户端也仅从路由装置接收数据。但在实际应用中,往往流媒体源都需要进行客户端的注册/认证,并且只对认证通过的客户端发送流媒体数据。因此,本实施例在上述实施例1~实施例3的基础上,进一歩提供了通过路由装置代理客户端进行认证的技术方案,请参考图5,包括以下步骤:54-1、当接收到客户端对一流媒体源的请求指令时,终止所述请求指令并维护与所述客户端的连接;S4-2、识别预设的路由代理表中是否已记录该流媒体源信息;S4-3-1、是则,将该客户端信息添加到路由代理表中,使之与该流媒体源信息关联;S4-3-2、设置该客户端信息处于无效状态,即此时即使收到该流媒体源信息,也不会将该客户端纳入复制对象范围内;S4-3-3、向流媒体源发起客户端认证请求;S4-3-4、识别接收到的指令;S4-3-5、接收到流媒体源发送的认证通过指令后,设置客户端信息生效,并执行步骤S4-6;S4-3-6、当接收到流媒体源发送的认证失败指令后,删除客户端信息,结束;S4-4-1、否则,将该客户端信息和该流媒体源信息关联添加到路由代理表中;S4-4-2、设置该客户端信息处于无效状态,由于还未向流媒体源提出申请,因此在此阶段不会收到流媒体源数据,-S4-4-3、向流媒体源发起客户端认证请求;S4-4-4、识别接收到的指令;S4-4-5、接收到流媒体源发送的认证通过指令后,设置客户端信息生效,并执行步骤S4-5;S4-4-6、当接收到流媒体源发送的认证失败指令后,删除客户端信息及流媒体源信息,结束;S4-5、向所媒体源发送请求指令并维护与流媒体源的连接;S4-6、根据该流媒体源在路由代理表中关联的客户端信息,对从该流媒体源接收的数据进行复制并分别单播给该客户端,结束。可以看出,当需要进行注册时,可以按照与认证相似的方式,由路由装置终结注册报文,同时记录下客户端信息;然后向流媒体源发送注册信息,进行注册,在此不再赘述。实施例5:本实施例5以客户端信息为客户端的IP地址,流媒体源为视频服务器,为了说明方便起见,假定该视频服务器只有一个视频源,流媒体源信息为流媒体源的IP地址为例,对本发明所提供的实现流媒体数据传输的方法进行说明。但本领域普通技术人员可以了解,除了使用上述IP地址来区分以外,客户端信息还可以通过端口号或者端口号和IP地址的组合来区分,流媒体源信息还可以通过端口号或者流媒体源ID号或者IP地址与这两者的任意组合进行区分。具体的,本实施例5中实现流媒体数据传输的方法过程如下(1)客户端请求视频服务器视频流;客户端A向视频服务器发送请求,该客户端A的IP地址为192.168.1.2,视频服务器的IP地址为10.10.10.10;路由器接收到该请求报文后,终止该请求报文,使该报文不会被发送到视频服务器;路由器在其预设的路由代理表中记录该客户端A的IP地址和视频服务器的IP地址;路由器向该视频服务器发送请求报文,该报文的源IP地址为路由器的IP地址;客户端B向视频服务器发送请求,该客户端B的IP地址为192.168.1.3,视频服务器的IP地址为10.10.10.10;路由器接收到该请求报文后,终止该请求报文,使该报文不会被发送到视频服务器;路由器检査到其预设的路由代理表中已记录有该视频服务器的IP地址,因此复制该视频服务器地址项,并对应添加客户端B的IP地址;此时,该路由器不需要再次向视频服务器发送请求报文,只是单纯的添加信息。在客户端A和客户端B的信息都被记录后,路由代理表内容如表1所示<table>tableseeoriginaldocumentpage14</column></row><table>表1(2)视频流的转发;视频服务器收到请求后,发送单播视频流给路由器;路由器査看路由代理表,发现该视频源对应两个客户端;则路由器对该视频流进行复制,将复制后数据的目的IP地址修改为相应客户端的IP地址并发送;此后,接收到视频流的客户端进行解码,还原视频图像。在本实施例5中,是以一个视频服务器具有一个视频源为例进行说明,但是常见的情况下,一个视频服务器一般都具有多个视频源,因此,可以在代理路由表中以视频服务器地址+视频源ID号的形式,记录流媒体源信息。从实施例5可以看出,当客户端信息为客户端的IP地址,流媒体源信息为流媒体源的IP地址的情况下,向流媒体源发送请求指令包括将客户端对所述流媒体源请求指令的源IP地址修改为本地IP地址,路由器通过这种方式完成对客户端请求的终结,以及重新向流媒体源发送请求;对数据进行复制并分别单播给客户端包括根据所述流媒体源在路由代理表中关联的客户端信息对所述数据进行复制,将复制后数据的目的IP地址修改为相应客户端的IP地址并发送。从上述实施例1~实施例5可以看出,在本发明中客户端和流媒体源之间的单播关系由路由装置通过代理方式建立和维护,路由装置根据路由代理表复制单播流量并下发,降低了对流媒体源性能和中间网络带宽的要求。本领域普通技术人员可以理解实现上述方法实施例的全部或部分歩骤可以通过程序指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序适用于在流媒体源和接入的客户端之间提供数据转发的路由装置。在执行时包括如下步骤歩骤1、终止客户端对一流媒体源的请求指令,关联记录所述流媒体源信息与所述客户端信息,并分别维护到所述客户端和所述流媒体源的连接;歩骤2、根据所述流媒体源关联的客户端信息,对从所述流媒体源接收的进行复制并分别单播给所关联的客户端。所述的存储介质包括ROM/RAM、磁碟或者光盘等。相应的,本发明还提供了实现流媒体数据传输的路由装置,下面通过实施例6实施例10加以描述。实施例6:请参考图6,本实施例6所提供的实现流媒体数据传输的路由装置300,用于在流媒体源100和接入的客户端400之间提供数据转发。其中,流媒体源100用于提供流媒体数据,用户请求的管理,以及向客户端400发送流媒体数据;如果采用集中的管理方式,可以实5见对更多的客户端进行管理;比如,视频服务器、音频服务器等,都属于流媒体源100。客户端400是音/视频解码的终端设备,比如用户的PC终端等,用于向流媒体源点播流媒体节目,接收流媒体源发送的流媒体数据并解码收看。该路由装置300可以为路由器,其通过中间网络与流媒体源100连接,通过本地连接与接入的客户端400连接,用于提供数据传输和转发,在本实施例6中,路由装置300还用于在客户端400请求流媒体节目时,提供代理点播功能,即路由装置300终结客户端400的请求,并代替该客户端400向流媒体源100发送请求;流媒体源100发送单播流量给路由装置300,路由装置300通过替换IP地址发送给客户端400。具体实现方案为该路由装置300包括记录单元301,用于记录并保存客户端和流媒体源的关联信息;客户端维护单元302,用于接收接入的客户端400对流媒体源100的请求指令,终止所述请求指令并维护与所述客户端的连接,以及触发所述记录单元301进行该关联信息的记录;其中,具体连接的维护可以通过心跳报文进行;流媒体源维护单元303,与记录单元301连接,用于维护与记录单元301中所记录流媒体源100的连接,以及从流媒体源100接收数据,该数据为流媒体数据;复制单播单元304,分别与记录单元301和流媒体源维护单元303连接,用于根据流媒体源100在记录单元中关联的客户端信息,对流媒体数据进行复制并分别单播给客户端400。可以看出,本实施例6所提供的实现流媒体数据传输的装置,仅需对现有的接入路由器进行改进即可实现,简单易行。改进后的接入路由器能够以代理方式建立客户端与流媒体源之间的单播点播关系,从而降低了对流媒体源性能的要求和对中间网络的带宽压力,同时保证了服务质量。实施例7:在实际应用中,流媒体源维护单元303负责维护与流媒体源100的连接包括建立与流媒体源100的连接工作和维护与流媒体源100连接工作。由于可能存在多个客户端400请求一个流媒体源100的情况,因此较佳的技术方案是,在建立与该流媒体源100的连接后,再收到客户端400的请求后,不再重新请求。为实现这一方案,请参考图7,记录单元301包括路由代理表3011,用于保存客户端信息和流媒体源信息;判断模块3012,用于识别路由代理表3011中是否已记录所请求的流媒体源100信息,并将判断结果通知给关联执行模块3013;关联执行模块3013,用于将客户端信息添加到路由代理表3011中,并使之与已记录的流媒体源信息关联;以及,将客户端信息和未记录的流媒体源信息添加到所述路由代理表3011中使其互相关联,并触发流媒体维护单元303向流媒体源100发送请求指令。具体的,以流媒体源100为视频服务器,路由装置300为接入路由器为例当客户端A点播视频服务器的时候,客户端A会发送请求给接入路由器;接入路由器收到请求后,会发送请求给视频服务器,同时记下该客户端A的IP地址;视频服务器收到该请求后,会发送单播视频流给接入路由器;接入路由器收到该单播流会根据客户端A的IP修改视频流的目的IP;这样客户端A就会接收到该视频流。如果客户端B也点播该视频服务器时候,客户端B向接入路由器发送请求;接入路由器发现该视频源相同,就不再新发起请求并记录下客户端B的IP地址;同时将该视频流复制一份,根据客户端B的IP修改视频流的目的IP;这样客户端B也会接收到该视频流。实施例8:进一步的,为了提供对于流媒体源100认证以及实时调整复制流量的支持,在上述实施例6或7的基础上,下面通过实施例8~实施例10加以描述,请参考图8。实施例8:为了实现对于流媒体源100认证的支持,本发明提供的实现流媒体数据传输的装置还包括与记录单元301连接的认证单元305。该认证单元305用于将记录单元301添加的客户端信息设置为无效状态,并向流媒体源100发起客户端认证请求,以及,在接收到流媒体源100发送的认证通过指令后,设置客户端信息生效,接收到流媒体源发送的认证失败指令后,删除所述客户端信息。具体的,认证请求中可以通过携带用户名和密码实现认证。显然,认证通过后,在路由装置300中的客户端信息生效;如果客户端400点播的流媒体源100为已知节目源,则路由装置300直接复制一份流量给用户;如果客户端400点播一个未知视频流,则路由装置300向流媒体源100发起请求,点播视频;如果客户端400停止点播,路由装置300査看是否还有其他客户端点播,如该流媒体源100无其他用户,路由装置300向流媒体源100发起停止点播,停止该视频流。如果未通过认证,删除相应的客户端和流媒体源信息,返回拒绝消息给客户端400。实施例9:为了实现对于实时调整复制流量的支持,本发明提供的实现流媒体数据传输的装置还包括与记录单元301连接的记录监测单元306,用于监测记录单元301,并在客户端信息发生变化时,触发复制单播单元304,使其根据变化后的客户端信息,对数据进行复制并分别单播给所述客户端。通过本实施例9,能够实现对所记录客户端信息实时变化的迅速反应。实施例10:记录单元301的实时变化可能由很多因素导致,比如客户端400发起退出流媒体源100的请求,再比如,监测到本路由装置300与客户端400的连接关系断开。本实施例10所提供的装置,即可实现对记录单元301的实时调整。具体为本实施例10所提供的实现流媒体数据传输的路由装置还包括与客户端维护单元302连接的记录控制单元307,用于监测客户端退出媒体源;其中,记录控制单元307与客户端维护单元302连接,可以监测到本路由装置300与客户端400的连接关系断开,以及监测到客户端400发起退出流媒体源100的请求。该记录控制单元307与记录单元301连接,用于在监测到客户端400退出流媒体源100的情况下,识别记录单元301中该流媒体源100是否关联有其他客户端400,是则删除该客户端信息,否则删除该客户端信息和该流媒体源信息,并通过流媒体源维护单元304向流媒体源100发送退出指令。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。权利要求1.一种实现流媒体数据传输的方法,适用于在流媒体源和接入的客户端之间提供数据转发的路由装置;其特征在于,包括以下步骤步骤1、终止客户端对一流媒体源的请求指令,关联记录所述流媒体源信息与所述客户端信息,并分别维护到所述客户端和所述流媒体源的连接;步骤2、根据所述流媒体源关联的客户端信息,对从所述流媒体源接收的数据进行复制并分别单播给所关联的客户端。2.根据权利要求1所述的实现流媒体数据传输的方法,其特征在于,所述歩骤1中关联记录所述流媒体源信息与所述客户端信息包括识别预设的路由代理表中是否已记录所述流媒体源信息;是则,将所述客户端信息添加到所述路由代理表中,并使之与所述流媒体源信息关联;否则,将所述客户端信息和所述流媒体源信息添加到所述路由代理表中,并使其互相关联;以及,向所述流媒体源发送请求指令。3.根据权利要求1所述的实现流媒体数据传输的方法,其特征在于,步骤1中关联记录流媒体源信息与客户端信息之后,还包括设置所述客户端信息处于无效状态,并向所述流媒体源发起客户端认证请求;当接收到流媒体源发送的认证通过指令后,设置所述客户端信息生效;当接收到流媒体源发送的认证失败指令后,对于已记录所述流媒体源信息的情况删除所述客户端信息,对于未记录所述流媒体源信息的情况删除所述客户端信息和所述流媒体源信息。4.根据权利要求1所述的实现流媒体数据传输的方法,其特征在于,所述步骤2包括实时监测所述流媒体源所关联的客户端信息是否发生变化;当所述客户端信息发生变化时,根据变化后的客户端信息,对所述数据进行复制并分别单播给所述客户端。5.根据权利要求1-4任一所述的实现流媒体数据传输的方法,其特征在于,还包括步骤3、接收到客户端对一流媒体源的退出指令,和/或,监测到与客户端的连接关系断开;步骤4、识别所述流媒体源是否关联有其他客户端,是则删除所述客户端信息,否则删除所述客户端信息和所述流媒体源信息,并向所述流媒体源发送退出指令。6.根据权利要求1-4任一所述的实现流媒体数据传输的方法,其特征在于,所述客户端信息为客户端的IP地址和/或端口号,所述流媒体源信息为流媒体源的IP地址、端口号和/或流媒体源ID号。7.根据权利要求6所述的实现流媒体数据传输的方法,其特征在于,所述向流媒体源发送请求指令包括将客户端对所述流媒体源请求指令的源IP地址修改为本地IP地址。所述对数据进行复制并分别单播给客户端包括根据所述流媒体源关联的客户端信息对所述数据进行复制,将复制后数据的目的IP地址修改为相应客户端的IP地址并发送。8.—种实现流媒体数据传输的路由装置,用于在流媒体源和接入的客户端之间提供数据转发,其特征在于,包括记录单元,用于记录并保存客户端和流媒体源的关联信息;客户端维护单元,用于接收接入的客户端对流媒体源的请求指令,终止所述请求指令并维护与所述客户端的连接,以及触发所述记录单元记录所述关联信息;流媒体源维护单元,与所述记录单元连接,用于维护与记录单元中所记录流媒体源的连接,以及从流媒体源接收数据;复制单播单元,分别与所述记录单元和所述流媒体源维护单元连接,用于根据所述流媒体源在记录单元中关联的客户端信息,对所述数据进行复制并分别单播给所述客户端。9.根据权利要求8所述的实现流媒体数据传输的路由装置,其特征在于,所述记录单元中包括路由代理表,用于保存客户端信息和流媒体源信息;判断模块,用于识别路由代理表中是否已记录所请求的流媒体源信息,并将判断结果通知给关联执行模块;关联执行模块,用于将客户端信息添加到所述路由代理表中,并使之与已记录的流媒体源信息关联;以及,将客户端信息和未记录的流媒体源信息添加到所述路由代理表中使其互相关联,并触发所述流媒体维护单元向所述流媒体源发送请求指令。10.根据权利要求8所述的实现流媒体数据传输的路由装置,其特征在于,还包括与记录单元连接的认证单元,用于将记录单元添加的客户端信息设置为无效状态,并向所述流媒体源发起客户端认证请求,以及,在接收到流媒体源发送的认证通过指令后,设置所述客户端信息生效,接收到流媒体源发送的认证失败指令后,删除所述客户端信息。11.根据权利要求8所述的实现流媒体数据传输的路由装置,其特征在于,还包括与记录单元连接的记录监测单元,用于监测记录单元,并在客户端信息发生变化时,触发所述复制单播单元,使其根据变化后的客户端信息,对所述数据进行复制并分别单播给所述客户端。12.根据权利要求8-11任一所述的实现流媒体数据传输的路由装置,其特征在于,还包括与客户端维护单元连接的记录控制单元,用于监测客户端退出媒体源;所述记录控制单元与记录单元连接,用于在监测到客户端退出流媒体源的情况下,识别记录单元中所述流媒体源是否关联有其他客户端,是则删除所述客户端信息,否则删除所述客户端信息和所述流媒体源信息,并通过所述流媒体源维护单元向流媒体源发送退出指令。全文摘要本发明公开了一种实现流媒体数据传输的方法和路由装置。该方法适用于在流媒体源和接入的客户端之间提供数据转发的路由装置,包括终止客户端对一流媒体源的请求指令,关联记录该流媒体源信息与该客户端信息,并分别维护到该客户端和该流媒体源的连接;根据该流媒体源关联的客户端信息,对从该流媒体源接收的数据进行复制并分别单播给所关联的客户端。该路由装置用于在流媒体源和接入的客户端之间提供数据转发,包括记录单元、客户端维护单元、流媒体源维护单元和复制单播单元。本发明降低了对流媒体源性能的要求和对中间网络的带宽压力,同时保证了服务质量。文档编号H04L12/18GK101119310SQ20071012156公开日2008年2月6日申请日期2007年9月10日优先权日2007年9月10日发明者迪周,沈志祥申请人:杭州华三通信技术有限公司