专利名称:重定向方法、系统以及终端的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种重定向方法、系统以及终端。
背景技术:
基于IP协议的电视广播服务(Internet Protocol Television, IPTV)业务可以分为两类,一类是直播业务,另一类是点播业务(Video on Demand,VoD)。其中所述点播业务的实现过程是终端通过电子节目导航(ElectronicGuide, EPG)获取所需要的节目内容名称,并得到该内容所在的入口地址。随后所述终端向内容传送系统(Content Delivery Network, CDN)发起对所述节目内容的请求。所述CDN系统根据其自身在网络中的分布情况和相关节点的分布情况选择合适的节点为所述终端提供流服务。在选择节点的过程中,所述⑶N系统将会利用RTSP协议(Real time Streaming Protocol,实时流传输协议)和所述终端进行多次交互,来发现最适合并能够为终端提供流服务的节点。这个发现过程称为需求路由的“重定向”。在上述重定向的过程中,所述终端通过机顶盒(Set Top Box, STB)向⑶N系统发送点播请求,请求导向父节点。然后,若所述父节点不能为所述终端提供服务,所述父节点根据自身的配置向所述终端发送响应消息,在所述响应消息中包括边缘子节点的地址。之后,所述机顶盒根据所述边缘子节点的地址,再向所述边缘子节点发送点播请求。最后,若所述边缘子节点能够提供服务,所述边缘子节点向所述机顶盒发送响应消息,并为所述机顶盒提供服务。若所述边缘子节点不能提供服务,则所述边缘子节点向所述机顶盒发送响应消息,通知所述机顶盒继续向所述父节点发送点播请求,即重复上述过程。目前的⑶N系统一般都是采用多级架构,在多次的重定向过程中,由于RTSP协议所带的信息有限,所述机顶盒的点播请求将会在上下级节点之间产生连续循环,从而使得终端的点播请求得不到及时的响应。为了解决这个问题,在现有技术中一般是通过扩展RTSP协议实现的。即机顶盒在每次的点播请求中包括其发送点播请求的次数等参数,使得CDN系统在根据所述次数等参数确定不能处理该点播请求时,将该点播请求丢弃。但是,按照上述方式实现的重定向过程需要协议的扩展,实现复杂。
发明内容
本发明实施例提供一种重定向方法,能够实现对终端的重定向。本发明实施例重定向方法采用如下技术方案通过第一端口向第一节点发送点播请求;接收所述第一节点发送的重定向消息,所述重定向消息包括第二节点的地址信息;根据所述第二节点的地址信息,向所述第二节点发送点播请求;接收所述第二节点发送的第二重定向消息,所述第二重定向消息包括重定向端口信息和相关节点的地址信息;根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时为终端提供服务。本发明实施例重定向方法还可采用如下技术方案第一节点接收终端通过第一端口发送的点播请求;所述第一节点根据所述点播请求向所述终端发送重定向消息,所述重定向消息包括第二节点的地址信息;所述第二节点接收所述终端根据所述第二节点的地址信息发送的点播请求,并向所述终端发送第二重定向消息,所述第二重定向消息包括重定向端口信息和相关节点的地址信息;所述相关节点接收所述终端根据所述重定向端口信息和相关节点的地址信息通过重定向端口发送的点播请求,并在确定所述点播请求来自于所述重定向端口时为所述终端提供服务。本发明实施例提供一种终端,能够实现重定向。一种终端,包括请求发送单元,用于通过第一端口向第一节点发送点播请求;消息接收单元,用于接收所述第一节点发送的重定向消息,所述重定向消息包括第二节点的地址信息;所述请求发送单元,还用于根据所述第二节点的地址信息,向所述第二节点发送点播请求;所述消息接收单元,还用于接收所述第二节点发送的第二重定向消息,所述第二重定向消息包括重定向端口信息和相关节点的地址信息;所述请求发送单元,还用于根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时为终端提供服务。—种重定向系统,包括第一节点、第二节点和所述第二节点的相关节点;所述第一节点,用于接收终端的点播请求,并根据所述点播请求向所述终端发送重定向消息,所述重定向消息包括第二节点的地址信息;所述第二节点,用于接收所述终端根据所述第二节点的地址信息发送的点播请求,并向所述终端发送第二重定向消息,所述第二重定向消息包括重定向端口信息和所述相关节点的地址信息;所述相关节点,用于接收所述终端根据所述重定向端口信息和相关节点的地址信息通过重定向端口发送的点播请求,并在确定所述点播请求来自于所述重定向端口时为所述终端提供服务。上述实施例所述的重定向方法、系统和终端,在终端初次发送点播请求时利用第一端口,在第二次发送点播请求时利用重定向端口,这就使得网络侧能够区分终端的两次点播请求,并在通过重定向端口收到所述终端的点播请求后直接为终端提供服务,从而实现对终端的重定向过程。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一种重定向方法一个实施例的流程图;图2为本发明一种重定向方法又一个实施例的流程图;图3为本发明一种重定向方法又一个实施例的流程图;图4为本发明一种重定向方法又一个实施例的流程图;图5为本发明一种重定向方法又一个实施例的流程图;图6为本发明实施例终端的示意图;图7为本发明实施例重定向系统的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明实施例提供了一种重定向方法,包括步骤11、通过第一端口向第一节点发送点播请求。在本发明实施例中,所述第一节点可以是终端在网络侧的入口节点,如⑶N网路节点服务器,并且在CDN网路节点服务器侧可以预先对终端发送点播请求所采用的端口信息进行配置。例如可要求终端在第一次发送点播请求时采用第一端口,例如端口 8001,要求终端在第二次或者第二次以后发送点播请求时采用其他端口,如第二端口,例如端口 8002。 这样CDN网络节点服务器侧就可根据点播请求发自于哪个端口来确定终端不同次的点播请求,为CDN网络节点服务器侧区分终端的不同的点播请求提供了便利。当然,还可以是其他的方式区分终端的点播请求。在此,所述终端的点播请求可以是RTSP协议中的ktup (建立)请求,所述第一节点是终端在网络侧的入口节点。并且,在本发明的实施例中,所述终端可以为机顶盒,UE(User Equipment,用户设备)等。步骤12、接收所述第一节点发送的重定向消息,所述重定向消息包括第二节点的地址信息。由于在第一节点在为终端选择能够提供服务的节点的时候要考虑到能量消耗、服务质量等多种因素,因此,第一节点通常为终端选取物理地址较近的节点为其提供服务。可选的,第一节点可以根据其他策略为终端选取节点为终端提供服务,如可以选择负载较轻的节点等等。此外,所述重定向消息还可包括有第一端口信息,可使得所述终端在向所述第二节点发送点播请求时,仍利用所述第一端口而不利用其他的端口,从而方便第二节点在发送给终端的响应消息中添加正确的端口信息,避免第二节点在向终端返回响应消息时因添加第一端口的端口信息而导致的重定向陷入死循环。步骤13、根据所述第二节点的地址信息,向所述第二节点发送点播请求。在此,所述点播请求和步骤11中的点播请求的形式相同。具体的,终端根据第一节点返回边缘节点的地址信息和第一端口信息,通过第一端口向第二节点发送点播请求。步骤14、接收所述第二节点发送的第二重定向消息,所述第二重定向消息包括重定向端口信息和相关节点的地址信息。在此,所述向相关节点重定向消息为第二重定向消息在此实施例的具体体现,它与步骤12中的重定向消息的格式相同。只是为了与步骤11中的重定向消息区分,在此称为向相关节点重定向消息。其中,第一节点在选择第二节点时会根据就近原则或者负载最轻原则等选择一个最适合为终端提供服务的节点。步骤15、根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时为终端提供服务。为了能使得所述相关节点准确的进行判断,所述点播请求包括所述第二端口信息。相关节点根据所述第二端口信息确定所述点播请求来自于所述第二端口,即不同于终端向第一节点发送的第一次点播请求,相关节点将直接为所述终端提供服务。在本发明实施例中,实现对终端的重定向的方法主要基于以下思路首先,终端通过第一端口向第一节点发送点播请求,然后接收所述第一节点发送的重定向消息,所述重定向消息包括第二节点的地址信息。接着,所述终端根据所述第二节点的地址信息,向所述第二节点发送点播请求,并接收所述第二节点发送的第二重定向消息,所述第二重定向消息包括重定向端口信息和所述第二节点的相关节点的地址信息。最后,所述终端根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时,直接为终端提供服务。由上可以看出,当相关节点为第一节点时,在终端初次向第一节点发送点播请求时利用第一端口,在第二次向第一节点发送点播请求时利用重定向端口,这就使得网络侧的第一节点能够区分终端的两次点播请求,并在通过重定向端口收到所述终端的点播请求后直接为终端提供服务,从而实现对终端的重定向过程,避免了网络侧的第一节点由于不能区别不同次的点播请求而导致的重定向陷入死循环。当相关节点为第二节点的相关节点、并且为非第一节点时,相关节点根据确认终端发送的点播请求是通过重定向端口发送的点播请求时,直接为该点播请求提供服务,从而避免终端再次发送点播请求给第一节点而导致的重定向陷入死循环的可能。需要说明的是,“第一端口 ”和“重定向端口 ”是不同的端口,在具体应用过程中可以用端口号相区分。并且,第二节点在发送第二重定向消息时,可有两种情况一是第二节点自身不能为终端提供服务,二是第二节点自身能够为终端提供服务。也就是说,无论第二节点是否具有为终端提供服务的能力,它都可以向终端发送第二重定向消息,只是说当它具有为终端提供服务的能力时,第二节点本身不去执行为终端提供服务的这一操作,而是由其他节点来执行。以下实施例中相同。其中,本发明实施例中的第一节点、第二节点以及相关节点至少可以包括如下设备媒体服务器(MS, Media Service)、区域控制器(CC, ClusterController);除此之外, 当第一节点、第二节点以及相关节点还可能包括内容分发网络控制器(⑶NC,Content Distribution Network Controller)。相关节点包括第二节点的上级节点、第二节点的兄弟节点、第二节点的下级节点中的任一节点。当然,当第二节点为根节点的时候,相关节点包括第二节点的下级节点;当第二节点为边缘节点时,相关节点包括第二节点的上级节点。其中,在本发明实施例中,所述相关节点可以为所述第二节点的上级节点或者兄弟节点。需要说明的是,在本发明实施例的网络侧各节点呈树状分布。因此,终端发送给底层节点的请求或者消息是通过底层节点的上级节点传送的。那么,上级节点即可对终端发送的请求或者消息进行记录。同时,各子节点也会存在有兄弟节点或者下级节点。请参看图2,本发明实施例提供了一种重定向方法,具体步骤可参见上述实施例。 包括步骤21、机顶盒通过第一端口向第一节点发送点播请求。步骤22、第一节点根据所述点播请求通过第一端口向机顶盒返回重定向消息。可选的,该重定向消息包括第二节点的地址信息。步骤23、机顶盒根据第一节点返回的重定向消息向第二节点发送点播请求。步骤M、第二节点根据机顶盒发送的点播请求,向机顶盒返回第二重定向消息,该第二重定向消息中包括重定向端口信息和相关节点的地址信息。具体的,第二节点为机顶盒配置发送点播请求的端口信息。第二节点根据机顶盒的点播请求,通过配置重定向端口即第二端口,向机顶盒发送第二重定向消息,该第二重定向消息中携带有相关节点的地址信息,同时,所述第二重定向消息中指示机顶盒通过配置的第二端口向相关节点发送点播请求。步骤25、机顶盒接收第二节点发送的第二重定向消息,根据该第二重定向消息通过第二端口向相关节点发送点播请求。步骤沈、相关节点接收机顶盒通过第二端口发送的点播请求,为机顶盒直接提供业务服务。请结合参看图3,本发明实施例以相关节点为第一节点为例,本发明实施例提供了一种重定向方法,具体步骤可以参照上述实施例。包括步骤31、机顶盒通过第一端口(端口号为8001)向第一节点发送点播请求。步骤32、第一节点根据所述点播请求,为所述机顶盒选择适合为终端提供服务的第二节点,并将选定的第二节点的地址信息携带在重定向消息中。然后,将所述重定向消息发送给机顶盒。同时,所述重定向消息中包括有端口号8001。步骤33、所述机顶盒根据所述重定向消息,利用端口 8001向所述第二节点发送点播请求。此次点播请求与步骤31中的点播请求的内容相同。步骤34、第二节点在收到所述点播请求后,解析所述点播请求,并在确定不为所述机顶盒提供服务时,向所述终端发送向第一节点重定向消息,即第二重定向消息。与步骤32中的重定向消息不同的是,第二重定向消息中需包括第二端口端口号为8002的信息以及第二节点的地址。步骤35、机顶盒根据第二节点的地址,通过第二端口 8002再次向第一节点发送点播请求。机顶盒通过第二端口 8002向第一节点发送点播请求,在该点播请求中还可包括端口号8002的信息。步骤36、第一节点在确定该点播请求来自端口 8002的点播请求时,为机顶盒提供业务服务。由于各节点是呈树状结构分布的,因此,发送给下级节点的信息是要通过上级节点的,因此,该上级节点能够对发送给边缘节点的点播请求以及发送给它自己的点播请求的次数进行计数。即,在收到发送给所述边缘节点的点播请求时,可将其计数器的计数值加 1,而在收到终端发送给它自己的点播请求后,再次将其计数器的计数值加1,表示这是来自终端的第2次点播请求。因此,所述上级节点可结合点播请求和端口信息来确定是否为终端提供服务。可选的,当第一节点为第二节点的上级节点时,第一节点还可对收到的点播请求的次数进行计数,若在预定时间内收到点播请求的次数超过预设值,则丢弃点播请求,即不再响应机顶盒的点播请求。此外,在RTSP协议中,重定向消息(Redirect)是要通知客户端连接到另外一个服务器上。在所述重定向消息中包含首部域Location (位置域),该域指出了客户端要发送请求的URL(Uniform Resource Locator,统一资源定位符)。并且,在该重定向消息中还可包含参数Range域,在重定向生效时,该域指明了媒体流的范围。在给定的播放时间内将URI 请求重定向到新的服务器的例子如下(Server- > Client)S- > CREDIRECT rtsp//example, com/fizzle/foo RTSP/1. 0CSeq :732Location :rtsp://bigserver. com :8001Range :clock = 19960213T143205Z-由上可以看出,其中Location域的内容是重定向的新地址(Address)和端口号 (Port)。因此,本发明实施例中的重定向消息可通过位置域携带端口信息和位置信息。例如,所述第一节点发送的重定向消息的位置域包括所述第二节点的地址信息和第一端口信息。所述第二节点发送的点播请求的位置域包括所述第二端口信息和所述第一节点的地址 fn息ο由上可以看出,所述终端在初次向第一节点发送点播请求时利用第一端口,在第二次向第一节点发送点播请求时利用第二端口,这就使得网络侧的第一节点能够区分终端的两次点播请求,并在通过第二端口收到所述终端的点播请求后为终端提供服务。因此,这就避免了死循环现象的出现。并且,终端无需对点播请求进行扩展,可适用于各种类型的终端。因此,当有多种类型的终端时,可降低系统的集成难度。此外,在本发明实施例中,为了进一步避免死循环现象的发生,所述第一节点还可对收到点播请求的次数进行计数。当所述第一节点在预定时间内接收到所述点播请求的次数超过预设值时,丢弃所述第一点播请求。例如,所述预定时间为5秒,若在5秒内收到终端点播请求的次数为100次,那么可说明终端重复请求同一内容,即可丢弃终端的点播请求。 在此只是举例说明,在实际应用中可根据具体的需要设置预定时间和预设值。以相关节点为兄弟节点为例,本发明实施例提供了一种重定向方法,包括步骤41-43、与步骤11-13相同。步骤44、所述终端接收所述边缘节点发送的第二重定向消息,所述第二重定向消息包括第二端口信息和所述边缘节点的兄弟节点的地址信息。在此,所述向第二重定向消息与步骤12中的重定向消息的格式相同。所述边缘节点在选择兄弟节点时,其选择原则和前述实施例中上级节点选择边缘节点的原则相同,即根据就近原则或者负载最轻原则等进行选择。步骤45、根据所述第二端口信息和所述兄弟节点的地址信息,所述终端通过第二端口向所述兄弟节点发送点播请求,使得所述兄弟节点在确定所述点播请求来自于所述第二端口时,直接为所述终端提供服务。在此实施例中,作为另一种替代方式,所述边缘节点还可将它的下级节点(如果该边缘节点有下级节点)的地址信息和前述实施例中的第一端口的信息包括在第二重定向消息。之后的过程和前述实施例中描述的相同,也即重复上下级节点之间配合实现重定向的过程。需要说明的是,若是该兄弟节点不能提供服务,那么它将向终端发送第二重定向消息,所述第二重定向消息包括重定向端口信息和它的兄弟节点或者下级节点的地址信息。终端还可通过该重定向端口再向它的兄弟节点或者下级节点重新发送点播请求。也就是不断重复上下级节点之间或者兄弟节点之间实现重定向的过程。本发明实施例还提供了一种重定向方法,请结合参看图4所示,包括步骤51、第一节点接收终端发送的点播请求。在此所述点播请求的含义和内容和前述实施例中的相同。步骤52、所述第一节点向所述终端发送重定向消息,所述重定向消息包括边缘节点的地址信息,使得所述终端经所述边缘节点的上级节点向所述边缘节点发送点播请求。步骤53、所述上级节点对收到的点播请求的次数进行计数。步骤M、所述边缘节点向所述终端发送向上级节点重定向消息,所述向上级节点重定向消息包括所述上级节点的地址信息,使得所述终端向所述上级节点发送点播请求。步骤55、所述上级节点在确定收到的所述点播请求为第二次收到的点播请求时, 直接为所述终端提供服务。此外,与前述实施例中描述的相同,当所述第一节点在预定时间内接收到所述点播请求的次数超过预设值时,丢弃所述第一点播请求。由上可以看出,利用本发明实施例的方法,可避免死循环现象的出现。并且,终端无需对点播请求进行扩展,可适用于各种类型的终端。因此,当有多种类型的终端时,可降低系统的集成难度。通过本发明实施例的方法可以看出,与图1所示的实施例不同的是1)在此实施例中,不需要对终端发送点播请求的端口进行限制;幻利用上级节点对收到的点播请求的次数进行计数,当在确定收到的所述点播请求为第二次收到的点播请求时,为所述终端提供服务。其他过程与图1所示的实施例的方法相似。本发明实施例详细描述一种重定向方法的实现过程。在此实施例中,终端以机顶盒为例,第一端口的端口号8001,重定向端口为第二端口,端口号8002。如图5所示,包括步骤61、机顶盒通过端口 8001向第一节点发送点播请求。步骤62、所述第一节点根据所述点播请求,为所述机顶盒选择最适合为终端提供服务的边缘节点,并将选定的边缘节点的地址信息携带在重定向消息中。然后,将所述重定向消息发送给所述机顶盒。同时,所述重定向消息包括有端口号8001。同时,所述第一节点可对收到的点播请求的次数进行计数。若在预定时间内收到点播请求的次数超过预设值,则丢弃以后的点播请求。步骤63、所述机顶盒根据所述重定向消息,利用端口 8001向所述边缘节点发送点播请求。此次点播请求与步骤41中的点播请求的内容相同。步骤64、所述边缘节点在收到所述点播请求后,解析所述点播请求,并在确定不能为所述机顶盒提供服务时,向所述终端发送向上级节点重定向消息。根据前述的内容,由于发送给边缘节点的点播请求是经过第一节点、上级节点发送给所述边缘节点的,因此,所述上级节点可对发送给边缘节点的点播请求进行计数。与步骤62中的重定向消息不同的是,在此的重定向消息中需包括端口号8002以及所述边缘节点的上级节点的地址。步骤65、所述机顶盒根据上级节点的地址,通过端口 8002再次向上级节点发送点
播请求。此次点播请求与步骤61中的点播请求的内容相同。此外,在该点播请求中还可包括端口号8002。步骤66、所述上级节点在确定所述点播请求为第二次点播请求并且来自端口 8002,即为机顶盒提供服务。之后,上级节点和机顶盒之间继续交互,以为机顶盒提供相应的服务。这与现有技术中的相同。或者,所述第一节点还可在所述上级节点为机顶盒提供服务之后再对收到的点播请求的次数进行计数,若在预定时间内收到点播请求的次数超过预设值,则丢弃点播请求, 即不再响应机顶盒的点播请求。实际上,在本发明的实施例中,每个节点或者子节点都可以对其收到的点播请求的次数进行计数。只是对于本发明的实施例来说,只有最后为终端提供服务的那个节点所进行的计数,才用作判断机顶盒发送的点播请求的次数的基准。通过以上的实施例描述可以看出,利用本发明的实施例无需对RTSP协议进行任何的扩展,因此,当有多种类型的终端时,也不必根据终端类型的不同而对协议进行适应性的修改,从而降低了系统集成的难度。此外,由于能够对终端的两次不同的点播请求进行区分以处理终端的请求,因此,避免了死循环现象的出现。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。如图6所示,本发明实施例提供了一种终端,包括请求发送单元71和消息接收单元72。其中,请求发送单元71,用于通过第一端口向第一节点发送点播请求;消息接收单元72,用于接收所述第一节点发送的重定向消息,所述重定向消息包括第二节点的地址信息。请求发送单元71,还用于根据所述第二节点的地址信息,向所述第二节点发送点播请求;所述消息接收单元72,还用于接收所述第二节点发送的第二重定向消息,所述第二重定向消息包括重定向端口信息和所述第二节点的相关节点的地址信息;请求发送单元71, 还用于根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时,为终端提供服务。其中,所述请求发送单元71可包括端口信息获取模块,用于获取向第一节点发送信息的端口的第一端口信息;请求发送模块,用于根据所述第一端口信息,向所述第一节点发送点播请求。在此基础上,所述请求发送单元71还可进一步包括解析模块,用于解析所述第二节点发送的第二重定向消息,获取所述重定向端口信息和所述第二节点的相关节点的地址信息。此时,所述请求发送模块,进一步用于根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时,直接为所述终端提供服务。本发明实施例中终端的工作原理与可以参照前述方法实施例中的描述。需要说明的是,在具体应用中,所述终端可包括多个请求发送单元或者消息接收单元。由上可以看出,本发明实施例所述的终端在初次发送点播请求时利用第一端口, 在第二次发送点播请求时利用重定向端口,这就使得网络侧的节点能够区分终端的两次点播请求,并在通过重定向端口收到所述终端的点播请求后为终端提供服务从而实现对重定向。此外,利用本发明实施例的终端还能避免死循环现象的出现。并且,终端无需对点播请求进行扩展,可适用于各种类型的终端。因此,当有多种类型的终端时,可降低系统的集成难度。请结合参见图7,本发明实施例的重定向系统包括包括第一节点81、第二节点82 和相关节点83 ;第一节点81,用于接收终端的点播请求,并根据所述点播请求向所述终端发送重定向消息,所述重定向消息包括第二节点的地址信息。第二节点82,用于接收所述终端根据所述第二节点的地址信息发送的点播请求, 并向所述终端发送第二重定向消息,所述第二重定向消息包括重定向端口信息和所述相关节点的地址信息。相关节点83,用于接收所述终端根据所述重定向端口信息和相关节点的地址信息通过重定向端口发送的点播请求,并在确定所述点播请求来自于所述重定向端口时为所述终端提供服务。其中,当相关节点83为第一节点81时,即相关节点83与第一节点81重合时,在终端初次向第一节点发送点播请求时利用第一端口,在第二次向第一节点发送点播请求时利用重定向端口,这就使得网络侧的第一节点能够区分终端的两次点播请求,并在通过重定向端口收到所述终端的点播请求后直接为终端提供服务,从而实现对终端的重定向过程, 避免了网络侧的第一节点由于不能区别不同次的点播请求而导致的重定向陷入死循环。当相关节点为第二节点的相关节点、并且为非第一节点时,相关节点根据确认终端发送的点播请求是通过重定向端口发送的点播请求时,直接为该点播请求提供服务,从而避免终端再次发送点播请求给第一节点而导致的重定向陷入死循环的可能。可选的,本发明实施例的重定向系统中,若相关节点83与第一节点81时,即相关节点83与第一节点81为同一节点时,并且第一节点为第二节点的上级节点,第一节点81 可以对收到的终端的点播请求的次数进行计数,并在上级节点确定收到的所述点播请求为第二次收到的点播请求时,为所述终端提供服务。因此,利用本发明实施例的系统避免了死循环现象的出现。并且,终端无需对点播请求进行扩展,可适用于各种类型的终端。因此, 当有多种类型的终端时,可降低系统的集成难度。其中,在此实施例中,所述相关节点也可以为所述第二节点的上级节点或者兄弟节点,甚至第二节点的子节点。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种重定向方法,其特征在于,包括 通过第一端口向第一节点发送点播请求;接收所述第一节点发送的重定向消息,所述重定向消息包括第二节点的地址信息; 根据所述第二节点的地址信息,向所述第二节点发送点播请求; 接收所述第二节点发送的第二重定向消息,所述第二重定向消息包括重定向端口信息和相关节点的地址信息;根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时为终端提供服务。
2.根据权利要求1所述的方法,其特征在于,所述相关节点包括所述第一节点;或者, 除所述第一节点外的与所述第二节点相关的任一节点。
3.根据权利要求1或2所述的方法,其特征在于,所述通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时为终端提供服务包括所述通过重定向端口向所述相关节点发送的点播请求包括所述重定向端口信息; 所述相关节点根据所述重定向端口信息确定所述点播请求来自于所述重定向端口时为所述终端提供服务。
4.根据权利要求2所述的方法,其特征在于,若所述相关节点为所述第一节点,在接收所述第二节点发送的第二重定向消息后,所述方法还包括所述第一节点对接收到的点播请求的次数进行计数;所述相关节点在确定所述点播请求来自于所述重定向端口时为终端提供服务包括 所述第一节点在根据所述重定向端口信息确定所述点播请求来自于所述重定向端口且收到的点播请求为第二次的点播请求时为所述终端提供服务。
5.根据权利要求1或2所述的方法,其特征在于,所述重定向端口信息和所述相关节点的地址信息位于所述第二重定向消息的位置域。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括当所述第一节点在预定时间内接收到所述点播请求的次数超过预设值时,丢弃所述第一点播请求。
7.一种重定向方法,其特征在于,包括第一节点接收终端通过第一端口发送的点播请求;所述第一节点根据所述点播请求向所述终端发送重定向消息,所述重定向消息包括第二节点的地址信息;所述第二节点接收所述终端根据所述第二节点的地址信息发送的点播请求,并向所述终端发送第二重定向消息,所述第二重定向消息包括重定向端口信息和相关节点的地址信息;所述相关节点接收所述终端根据所述重定向端口信息和相关节点的地址信息通过重定向端口发送的点播请求,并在确定所述点播请求来自于所述重定向端口时为所述终端提供服务。
8.根据权利要求7所述的方法,其特征在于,所述相关节点包括所述第一节点;或者,除所述第一节点外的与所述第二节点相关的任一节点。
9.根据权利要求8所述的方法,其特征在于,若所述相关节点为所述第一节点, 所述第一节点接收所述终端根据所述重定向端口信息和相关节点的地址信息通过重定向端口发送的点播请求,并对接收到的点播请求的次数进行计数;所述在确定所述点播请求来自于所述重定向端口时为所述终端提供服务包括 根据所述重定向端口信息确定所述点播请求来自于所述重定向端口且收到的点播请求为第二次的点播请求时为所述终端提供服务。
10.根据权利要求7-9所述的任一方法,其特征在于,所述重定向端口信息和所述相关节点的地址信息位于所述第二重定向消息的位置域。
11.根据权利要求7-9所述的任一方法,其特征在于,所述方法还包括当所述第一节点在预定时间内接收到所述点播请求的次数超过预设值时,丢弃所述第一点播请求。
12.—种终端,其特征在于,包括请求发送单元,用于通过第一端口向第一节点发送点播请求; 消息接收单元,用于接收所述第一节点发送的重定向消息,所述重定向消息包括第二节点的地址信息;所述请求发送单元,还用于根据所述第二节点的地址信息,向所述第二节点发送点播请求;所述消息接收单元,还用于接收所述第二节点发送的第二重定向消息,所述第二重定向消息包括重定向端口信息和相关节点的地址信息;所述请求发送单元,还用于根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时为终端提供服务。
13.根据权利要求12所述的终端,其特征在于,所述请求发送单元包括 端口信息获取模块,用于获取向第一节点发送信息的端口的第一端口信息;请求发送模块,用于根据所述第一端口信息,通过第一端口向所述第一节点发送点播请求。
14.根据权利要求12或13所述的终端,其特征在于,所述请求发送单元进一步包括 解析模块,用于解析所述第二节点发送的第二重定向消息,获取所述重定向端口信息和相关节点的地址信息;所述请求发送模块,进一步用于根据所述重定向端口信息和所述相关节点的地址信息,通过重定向端口向所述相关节点发送点播请求,使得所述相关节点在确定所述点播请求来自于所述重定向端口时为所述终端提供服务。
15.一种重定向系统,包括第一节点、第二节点和相关节点,其特征在于所述第一节点,用于接收终端的点播请求,并根据所述点播请求向所述终端发送重定向消息,所述重定向消息包括第二节点的地址信息;所述第二节点,用于接收所述终端根据所述第二节点的地址信息发送的点播请求,并向所述终端发送第二重定向消息,所述第二重定向消息包括重定向端口信息和所述相关节点的地址信息;所述相关节点,用于接收所述终端根据所述重定向端口信息和相关节点的地址信息通过重定向端口发送的点播请求,并在确定所述点播请求来自于所述重定向端口时为所述终端提供服务。
16.根据权利要求15所述的系统,其特征在于,所述相关节点包括所述第一节点;或者,除所述第一节点外的与所述第二节点相关的节点。
全文摘要
本发明实施例公开了一种重定向方法、系统及终端,属于通信技术领域,为实现对终端的重定向而发明。其中方法包括通过第一端口向第一节点发送点播请求;接收第一节点发送的重定向消息,重定向消息包括第二节点的地址信息;根据第二节点的地址信息,向第二节点发送点播请求;接收第二节点发送的第二重定向消息,第二重定向消息包括重定向端口信息和第二节点的相关节点的地址信息;根据重定向端口信息和相关节点的地址信息,通过重定向端口向相关节点发送点播请求,使得相关节点在确定点播请求来自于重定向端口时为终端提供服务。本发明实施例主要应用于IPTV技术中。
文档编号H04N21/238GK102244642SQ20101016715
公开日2011年11月16日 申请日期2010年5月10日 优先权日2010年5月10日
发明者包红强 申请人:华为技术有限公司