流媒体节点控制器的切换处理方法转让专利

申请号 : CN200710149304.4

文献号 : CN100589452C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘琰

申请人 : 中兴通讯股份有限公司

摘要 :

本发明提供了一种流媒体节点控制器的切换处理方法,包括:设置信息表和对照表;遍历信息表和/或所述对照表,对于链路状态为异常的主流媒体节点控制器所属的节点和/或主流媒体节点控制器的标识信息为空的节点,发起主切换请求。通过本发明,实现了IPTV中多Agent的切换处理,有效地仲裁了节点下多个Agent互斥提供服务的功能,确保了不会出现无主Agent和多个主Agent的情况,使得各个系统能够稳定地为用户提供各种媒体服务,因此,保证了系统的稳定性和后期维护质量,降低了维护成本。

权利要求 :

1.一种流媒体节点控制器的切换处理方法,用于内容分发网络中的流媒体节点控制器切换,其中,内容分发网络的流媒体节点下有多个流媒体节点控制器,并且在某一时刻只有一个流媒体节点控制器作为主流媒体节点控制器起调度作用,其特征在于,包括: 设置信息表和/或对照表,其中,信息表记录了内容分发网络的每个流媒体节点控制器的信息,所述信息包括流媒体节点控制器的所属节点、工作模式、链路状态;对照表记录了内容分发网络的每个节点和/或该节点的主流媒体节点控制器的标识信息; 遍历所述信息表和/或所述对照表,对于链路状态为异常的主流媒体节点控制器所属的节点和/或主流媒体节点控制器的标识信息为空的节点,发起主切换请求。

2. 根据权利要求1所述的方法,其特征在于,通过遍历所述信息 表发起主切换请求的处理具体为:设置第一定时器,触发遍历所述信息表中的每个流媒体节 点控制器,对于判定为链^^异常的流纟某体节点控制器,判断其 是否为主流媒体节点控制器,如果判断结果为是,则确定所述 主流媒体节点控制器所属的节点,并选择该节点的 一个链路状 态为正常的流媒体节点控制器发送主切换请求,以请求其切换 为主流媒体节点控制器。

3. 根据权利要求2所述的方法,其特征在于,通过向所述信息表 中的每个流媒体节点控制器发送心跳请求来进行遍历,并设置第三定时器,其中,根据流媒体节点控制器是否在第三定时器 超时前返回心跳响应来判断其链路是否正常。

4. 根据权利要求3所述的方法,其特征在于,所述第三定时器的 附加信息中携带有相关的流媒体节点控制器的基本信息,以标 识流媒体节点控制器。

5. 根据权利要求3所述的方法,其特征在于,对于连续预定次数 在所述第三定时器超时后没有返回心跳响应的流:樣体节点控制器,判定其为链路异常的流媒体节点控制器。

6. 才艮据一又利要求5所述的方法,其特征在于,对于所述判定为链 路异常的流媒体节点控制器,将所述信息表中记录的与其对应 的链路状态设置为异常。

7. 根据权利要求6所述的方法,其特征在于,对于判定为链路异 常的主流J?某体节点控制器,还将其所属节点在所述对照表中对 应的主流媒体节点控制器标识信息清空。

8. 才艮据权利要求1所述的方法,其特征在于,通过遍历所述对照. 表发起主切换请求的处理具体为:设置第二定时器,触发遍历所述对照表中的每个节点,对 于主流媒体节点控制器的标识信息为空的节点,选择该节点的 一个链路状态为正常的流媒体节点控制器发送主切换请求,以 请求其切换为主流媒体节点控制器。

9. 根据权利要求2至8中任一项所述的方法,其特征在于,在发 送主切换请求时,设置第四定时器。

10. 根据权利要求9所述的方法,其特征在于,所述笫四定时器的 附加信息中携带有相关的流^?某体节点控制器的基本信息,以标 识流媒体节点控制器。

11. 根据权利要求9所述的方法,其特征在于,进一步包括:如果被请求切换的所述流媒体节点控制器在所述第四定 时器超时前返回切换响应,则关闭所迷第四定时器,并判断切 换是否成功;在切换成功的情况下,将所述流媒体节点控制器作为新的 主流:煤体节点控制器,将其在所述信息表中对应的工作模式设 置为主工作^t式,并将其标识保存到所述对照表;在切换失败的情况下,将所述流纟某体节点控制器在所述信 息表中对应的工作模式设置为从工作模式,将其所属节点在所 述对照表中对应的主流媒体节点控制器标识i殳置为空,并重新 选择其所属节点的链路状态为正常的流媒体节点控制器发送主切4灸i青求。

12. 根据权利要求11所述的方法,其特征在于,在切换成功的情 况下,进一 步向所述新的主流媒体节点控制器所属的节点下的 所有其他流媒体控制切点发送从切换请求,以请求其切换到从 流媒体节点控制器。

13. 根据权利要求12所述的方法,其特征在于,对于没有返回切 换响应或切纟奐失败的情况,继续发送所述从切换:请求;对于切 换成功的情况,将所述其他 流i某体控制切点在所述信息表中对 应的工作模式设置为从工作模式。

14. 根据权利要求9所述的方法,其特征在于,进一步包括:如果被请求切换的所述流媒体节点控制器未在所述第四 定时器超时前返回切换响应,则将所述流媒体节点控制器在所 述信息表中对应的工作模式设置为从工作模式,将其所属节点 在所述对照表中对应的主流J?某体节点控制器标识设置为空,并 重新选择其所属节点的链路状态为正常的流媒体节点控制器发送主切换i青求。

说明书 :

流媒体节点控制器的切换处理方法

技术领域

本发明涉及电信通讯业务IPTV (网络电视)领域,特别地,涉 及流媒体节点控制器(Agent)的切换处理方法。

背景技术

IPTV是基于宽带高速IP网的以网络^L频资源为内容主体,以 电视机、电脑等为显示终端的交互式网络电视,融合了互联网、多 媒体、通讯等各种技术,可以提供包括数字电视节目、节目点播、 在线信息咨询、可视IP电话等在内的诸多服务。由于IPTV充分利 用了电信、电视、互联网各自的优势和特点,有效地实现了媒体提 供者和J?某体消费者之间的实质性互动,因此,它将会成为电信行业
下一个极具前景的增值业务,具有巨大的市场潜力。.
内容分发网纟各(Content Distribution Network, CDN子系统)在 IPTV中担负着内容的分发控制、将内容推送到边缘服务节点提高内 容月l务质量的功能。CDN子系统主要由CDN控制器(CDN Manager)和流J?某体节点控制器(CDN Agent)组成,CDN Manager 负.责接入IPTV业务管理系统,CDN Agent与流媒体系统共同组成 分布式流媒体节点。每个节点的多个Agent在某一个时刻只有一个 Agent在起调度作用,起调度作用的Agent为主Agent,其他Agent 为备用Agent ,主Agent或者备用Agent在Manager有才示"i只。电子 节目单(EPG)和流媒体系统只和主Agent保持心跳,所以只有主 Agent才能进行重定向等为用户提供服务的操作。当主agent与Manager断《连或者主Agent本身坏:焯的情况下,Manager寻找一个 状态良好的Agent作为新的主Agent,这样就不会造成由于Agent 故障不能为用户提供服务。
为了消息的正常通ifl, Manager中的主M人Agent的标识要和 Agent本身的标识相一致,在多个Agent并存且互相不能通讯的情 况下,Manager就必须能够进行准确的仲裁和标识确认,不能出现 同一节点下存在多个主Agent的情况,也不能出现节点下没有主 Agent ^f旦Manager不触发寻找主Agent的情况。然而,目前尚未提 出能够实现上述技术效果的方案。

发明内容

考虑到相关技术中存在的上述问题而提出本发明,为此,本发 明旨在提供一种流媒体节点控制器(Agent)的切换处理方法。
根据本发明的流々某体节点控制器切换处理方法用于内容分发网 络中的流媒体节点控制器切换,其中,内容分发网络的流媒体节点 下有多个流^某体节点控制器,并且在某一时刻只有一个流媒体节点 控制器作为主流媒体节点控制器起调度作用。
该方法包括:设置信息表和/或对照表,其中,信息表记录了.内 容分发网络的每个流媒体节点控制器的信息,信息包括流媒体节点 控制器的所属节点、工作模式、链路状态;对照表记录了内容分发 网络的每个节点和/或该节点的主流J?某体节点控制器的标识信息;遍 历信息表和/或对照表,对于链路状态为异常的主流媒体节点控制器 所属的节点和/或主流纟某体节点控制器的标识信息为空的节点,发起 主切换请求。 -
通过遍历信息表发起主切换请求的处理具体为:设置笫一定时 器,触发遍历信息表中的每个流媒体节点控制器,对于判定为链路异常的流媒体节点控制器,判断其是否为主流媒体节点控制器,如果判断结果为是,则确定主流媒体节点控制器所属的节点,并选择该节点的 一个链路状态为正常的流媒体节点控制器发送主切换请求,以请求其切换为主流媒体节点控制器。
在上述方法中,通过向信息表中的每个流媒体节点控制器发送心跳请求来进行遍历,并设置第三定时器,其中,才艮据流媒体节点控制器是否在第三定时器超时前返回心跳响应来判断其链路是否正'常。基于此,对于连续预定次数在第三定时器超时后没有心跳响应的流媒体节点控制器,判定其为链路异常的流媒体节点控制器。进一步地,对于判定为链路异常的流媒体节点控制器,将信息表中记录的与其对应的链路状态设置为异常。
通过遍历对照表发起主切换请求的处理具体为:设置第二定时器,触发遍历对照表中的每个节点,对于主流媒体节点控制器的标识信息为空的节点,选择该节点的 一个链路状态为正常的流媒体节点控制器发送主切换请求,以请求其切换为主流媒体节点控制器。
在上述方法中,在发送主切换请求时,设置第四定时器。需要说明的是,第三定时器/第四定时器的附加信息中携带有相关的流媒体节点控制器的基本信息,以标识流媒体节点控制器。
这样, 一方面,如果被请求切换的流:煤体节点控制器在第四定时器超时前返回切:换响应,则关闭第四定时器,并判断切换是否成
功;在切换成功的情况下,将流媒体节点控制器作为新的主流媒体
节点控制器,将其在信息表中对应的工作模式设置为主工作模式,
并将其标识保存到对照表;在切换失败的情况下,将流媒体节点控
制器在信息表中对应的工作模式设置为从工作模式,将其所属节点在对照表中对应的主流媒体节点控制器标识设置为空,并重新选择•其所属节点的链路状态为正常的流媒体节点控制器发送主切换请求。
另夕卜,在切换成功的情况下,进一步向新的主流媒体节点控制器所属的节点下的所有其他流纟某体控制切点发送从切换请求,以请求其切换到从流媒体节点控制器。之后,对于没有返回切换响应或
切换失败的情况,继续发送从切换请求;对于切换成功的情况,将其他流媒体控制切点在信息表中对应的工作模式设置为从工作模式。
另一方面,如果被请求切换的流媒体节点控制器未在第四定时器超时前返回切换响应,则将流媒体节点控制器在信息表中对应的工作模式设置为从工作模式,将其所属节点在对照表中对应的主流媒体节点控制器标识设置为空,并重新选择其所属节点的链路状态为正常的流媒体节点控制器发送主切换请求。
通过本发明,实现了 IPTV中多Agent的切换处理,有效地仲裁了节点下多个Agent互斥提供服务的功能,确保了不会出现无主Agent和多个主Agent的情况,4吏得各个系统能够稳定地为用户才是供各种々某体月良务,因此,保证了系统的稳定性和后期维护质量,降低了维护成本。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地/人i兌明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、 一又利要求书、以及附图中所特别指出的结构来实现和获得。
9附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的
限制。在附图中:
图1是本发明应用的IPTVCDN子系统的系统框架图;
图2是根据本发明实施例的Agent切换处理方法的简要流程图;
图3是根据本发明实施例的Agent切换处理方法中触发切换请求以及触发切换请求前的处理流程图;
图4是才艮据本发明实施例的Agent切换处理方法中触发切换请求后的处理流程图。

具体实施方式

以下结合附图对本发明的优逸实施例进行说明,应当理解,此处所描述的优选实施例^义用于说明和解释本发明,并不用于限定本发明。
本发明旨在提供一种流媒体节点控制器(Agent)的切换处理方法。
才艮据本发明的Agent切换处理方法用于内容分发网络(CDN)中的Agent切」換,其中,如图l所示,CDN可以包^"多个流々某体节点(下文中筒称为节点),即, 一个Manager可能控制多个节点,而每个节点下可以有多个Agent,并且在某一时刻只有一个Agent作为主Agent.起调度作用,其他Agent称为备用Agent或从Agent;由于每个Agent都有可能成为主Agent,所以为了保证系统的能够正常提供服务,每个Agent都和所属节点下的所有流媒体建立链接。
根据本发明实施例的方法的思路大致如下,即,维护(保存)信息表和对照表,通过对信息表/对照表的遍历决定是否发起切换请求,之后,根据对切换请求的响应结果进行后续处理。
具体地,如图2所示,该方法可以包括以下处理:
步骤S202,设置信息表和/或对照表,其中,信息表记录了 CDN的每个Agent的信息(包括Agent的所属节点、工作模式、链路状态、通讯参数、IP地址等基本信息);对照表记录了 CDN的每个节点和/或该节点的主Agent的标识信息(当某个节点没有主Agent时,对应的主Agent标识为空);其中,该信息表和对照表中保存的信息可以在系统重新启动后乂人凄t据库同步获得;
步骤S204,遍历信息表和/或对照表,对于链路状态为异常的主流媒体节点控制器所属的节点和/或主流媒体节点控制器的标识信息为空的节点,发起主切换请求。
一方面,在步-骤S204中,通过遍历信息表发起主切换:清求的处理具体为:设置第一定时器,触发遍历信息表中的每个Agent,即,根据信息表中Agent的通讯参数向每个Agent发送心跳请求,并设置第三定时器,如果某Agent在第三定时器超时前返回心跳响应,则认为该Agent链路正常,并关闭定时器;若某Agent连续预定次数(可以预先设置)在第三定时器超时后都没有心跳响应,则i人为该Agent《连^各异常;
对于判定为链路异常的Agent,将信息表中记录的与其对应的链路状态设置为异常,并判断其是否为主Agent,如果判断结果为是,则确定主Agent所属的节点,将所属节点在对照表中对应的主
iiAgent标识清空,并选^r该节点的一个《连^各状态为正常的Agent发送主切换请求,以请求其切换为主Agent,并设置第四定时器;
另一方面,在步骤S204中,通过遍历对照表发起主切换请求的处理具体为:设置第二定时器,触发遍历对照表中的每个节点,对于主Agent的标识信息为空的节点,选择该节点的一个链路状态为正常的Agent发送主切换r清求,以-清求其切4灸为主Agent,并i殳置第四定时器。
需要说明的是,上述的第一至第四定时器的时长根据需要灵活配置,以适应不同的应用环境或根据实际情况设置最佳值,对于第'三定时器/第四定时器,由于对于每个Agent,设置的心跳超时和切换超时定时器都是第三定时器/第四定时器,因此,为了区分是哪一个Agent,需要在设置定时器的附加信息中携带有相关的Agent的基本4言息,以标识或区分Agent。
以上描述的是发送切换请求及发送切换请求前的处理过程。通过图3示出的详细处理流禾呈图可以更好的理解上述处理。
如图3所示,并且如上所述,可能触发Agent切换的有两种情况,即,主Agent断《连或没有主Agent:
情况一:主Agent断《连,可以进4亍如下处理:
第一步:设置定时器A(301),定时器A(即,上述第一定时器)触发遍历保存在内存中的Agent信息表(302),该信息表中包括Agent所属的节点、通讯参凄t、 IP地址、工作才莫式、链路状态等基本信息; '
第二步:按照通讯参凄t, Manager向所有的Agent发起心跳请求(303),然后^殳置超时定时器C (即,上述第三定时器)(304);第三步:判断请求的Agent是否返回心跳响应(305 )。
若在定时器C超时前返回响应,则关闭定时器C ( 306),判断 Agent上报的工作模式和Manager内存中保存的是否一致,若一致, 则流程结束(317);若不一致,贝'J Manager向该Agent发起切换为 一致的切换请求(308),并设置等待切换结果的定时器D (316)。
若连续多次(次凄t可以配置)定时器C超时后Agent也未返回 心跳响应,则判定该Agent断链,将内存中该Agent的链路状态置 为异常(309),判断断《连的Agent是否为当前的主Agent (310), 若不是,则流程结束(317 );若是,则获得该Agent所属的节点(314 ), 寻4戈该节点下状态正常的一个Agent作为主Agent,向其发送切换 为主Agent的切换:清求(315),并设置等4争切换结果的定时器D (316)。
情况二,没有主Agent,可以进行如下处理:
第一步:设置定时器B(311),定时器B触发遍历内存中的节 点和主Agent对照表(312);
第二步:判断节点在对照表中是否有只于应的主Agent (313), 若有,则流程结束(317 );若没有,则获得该Agent所属的节点(314), 寻找该节点下状态正常的一个Agent作为主Agent,向其发送切净灸 为主Agent的切换请求(315),并设置等4寺切换结果的定时器D (316)。
基于上述描述,将进一步描述本发明实施例在切换请求发送之 后的后续处理。
一方面,如果一皮二清求切换的Agent在第四定时器超时前返回切 换响应,则关闭第四定时器,并判断切换是否成功;在切换成功的
13情况下,将Agent作为新的主Agent,将其在信息表中对应的工作 模式设置为主工作模式,并将其标识保存到对照表;在切换失败的 情况下,将Agent在信息表中对应的工作模式设置为从工作模式, 将其所属节点在对照表中对应的主Agent标识设置为空,并重新选 择其所属节点的链路状态为正常的Agent发送主切换请求。
另外,在切4灸成功的情况下,进一步向新的主Agent所属的节 点下的所有其他流i某体控制切点发送从切换请求,以请求其切换到 从Agent。之后,对于没有返回切换响应或切换失败的情况,继续 发送从切换请求;对于切换成功的情况,将其他流媒体控制切点在 信息表中对应的工作模式设置为从工作模式。
另一方面,如果被请求切换的Agent未在第四定时器超时前返 回切换响应,则将Agent在信息表中对应的工作模式设置为从工作 模式,将其所属节点在对照表中对应的主Agent标识设置为空,并 重達斤选4奪其所属节点的《连^各状态为正常的Agent发送主切纟奐:清求。
实际上,在纟妄收到切换响应或切换结果时,Manager需要判断 i亥响应只t^刀:换为主Agent的诮-求的响应,还是乂十切纟炎为,人Agent的 i青求的响应,并才艮据判断结果进4亍后续处理,该内容可以看照图4 来进一步理解。其中,图4的流程图详细地示出了上述接收到切换 响应后的处理流禾呈,以下一争参照图4来进一步描述本发明'。
如图4所示,接收到切换响应后的处理流程同样包括两种情况:
情况一:Agent在定时器D (即,上述的第四定时器)超时前 返回切换结果(401),则处理步骤如下:
第一步:关闭定时器D(402);
第二步:判断Agent要切换为的工作模式是否为主Agent( 403 );若要切换为从Agent,则判断返回的切换结果是否成功(404), 若不成功,则继续向该Agent发送切4灸为从Agent的切#灸请求(405 ), 并设置定时器D等^f寺切换结果(420);若切换成功,则更新内存中 Agent 4言息表中该Agent的工作才莫式(406),并同步更新翁:4居库中 该Agent的4言息(407);
若要切换为主Agent,则判断返回的切换结果是否成功(408), 若成功,则更新内存中Agent信息表中该Agent的工作沖莫式(409 ), 并同步更新凝:据库中该Agent的信息(410),同时将该Agent标识 信息(例如,编号)j呆存到内存中节点和主Agent对照表中(411), 为了确-床同一节点下只有一个主Agent,还要向该节点下所有其他 的Agent发送一遍切:换为乂人Agent的切换:i青求(412 );
若不成功,则将内存中该Agent的工作才莫式置为从工作模式
(415) ,并同步更新数据库中该Agent的信息(417),同时将内存 中节点和主Agent对照表中该节点对应的主Agent清空(416)。然 后为该节点寻找新的可用的主Agent (418),向其发送切4奂为主 Agent的切换请求(419),并设置定时器D等待切换结果(420)。
情况二: Agent在定时器D超时后仍未返回切^:结果(413), 则处理步-骤如下:
判断Agent要切换为的工作模式是否为主Agent ( 414 );
若要切:换为乂人Agent,则继续向该Agent发送切换为;人Agent 的切换请求(421 ),并设置定时器D等待切换结果(420 )。
若要切4灸为主Agent,则将内存中该Agent的工作模式置为从 工作才莫式(415),并同步更新数据库中该Agent的信息(417),同 时将内存中节点和主Agent对照表中该节点对应的主Agent清空
(416) 。然后为该节点寻找新的可用的主Agent (418),向其发送切换为主Agent的切换请求(419 ),并设置定时器D等待切换结果 (420 )。
至此,流:f呈全部结束。
这才羊,通过本发明,l呆i正在Manager的仲裁和标;识确i人下,不 会出现无主Agent和多主Agent的情况,使得整个系统能稳定的为 用户提供各种媒体服务。
以上所述^义为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在
本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。