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

文档序号:7661049阅读:269来源:国知局
专利名称:流媒体节点控制器的切换处理方法
技术领域
本发明涉及电信通讯业务IPTV (网络电一见)领域,特别地,涉 及流媒体节点控制器(Agent)的切换处理方法。
背景技术
IPTV是基于宽带高速IP网的以网绍一见频资源为内容主体,以 电祸L机、电脑等为显示终端的交互式网络电^L,融合了互联网、多 媒体、通讯等各种技术,可以提供包括数字电视节目、节目点播、 在线信息咨询、可一见IP电话等在内的诸多月l务。由于IPTV充分利 用了电信、电视、互联网各自的优势和特点,有效地实现了媒体提 供者和々某体消费者之间的实质性互动,因此,它将会成为电信行业 下一个极具前景的增值业务,具有巨大的市场潜力。内容分发网络(Content Distribution Network, CDN子系统)在 IPTV中担负着内容的分发控制、将内容推送到边缘服务节点提高内 容服务质量的功能。CDN子系统主要由CDN控制器(CDN Manager )和流々某体节点4空制器(CDN Agent)组成,CDN Manager 负责接入IPTV业务管理系统,CDN Agent与流:煤体系统共同组成 分布式流纟某体节点。每个节点的多个Agent在某一个时刻只有一个 Agent在起调度作用,起调度作用的Agent为主Agent,其4也Agent 为备用Agent,主Agent或者备用Agent在Manager有才示i只。电子 节目单(EPG )和流媒体系统只和主Agent保持心跳,所以只有主 Agent才能进4亍重定向等为用户提供月艮务的才喿作。当主agent与 Manager断链或者主Agent本身坏:沣的情况下,Manager寻找一个 状态良好的Agent作为新的主Agent,这才羊就不会造成由于Agent 故障不能为用户提供服务。为了消息的正常通ifl, Manager中的主M人Agent的标识要和 Agent本身的标识相一致,在多个Agent并存且互相不能通讯的情 况下,Manager就必须能够进4亍准确的仲裁和才示识确i人,不能出王见 同一节点下存在多个主Agent的情况,也不能出现节点下没有主 Agent Y旦Manager不触发寻找主Agent的t青况。然而,目前尚未提 出能够实现上述技术效果的方案。发明内容考虑到相关技术中存在的上述问题而提出本发明,为此,本发 明旨在提供一种流媒体节点控制器(Agent)的切换处理方法。才艮据本发明的流媒体节点控制器切换处理方法用于内容分发网 络中的流媒体节点控制器切换,其中,内容分发网络的流媒体节点 下有多个流^ 某体节点控制器,并且在某一时刻只有一个流J 某体节点 控制器作为主流媒体节点控制器起调度作用。该方法包括设置信息表和/或对照表,其中,信息表记录了内 容分发网络的每个流^ 某体节点控制器的信息,信息包括流々某体节点 控制器的所属节点、工作模式、链路状态;对照表记录了内容分发 网络的每个节点和/或该节点的主流媒体节点控制器的标识信息;遍历信息表和/或对照表,对于链路状态为异常的主流媒体节点控制器 所属的节点和/或主流i某体节点控制器的标识信息为空的节点,发起 主切换请求。通过遍历信息表发起主切换请求的处理具体为设置第一定时 器,触发遍历信息表中的每个流^ 某体节点控制器,对于判定为链路
异常的流媒体节点控制器,判断其是否为主流纟某体节点控制器,如 果判断结果为是,则确定主流媒体节点控制器所属的节点,并选择 该节点的 一个链路状态为正常的流媒体节点控制器发送主切换请 求,以请求其切换为主流媒体节点控制器。在上述方法中,通过向信息表中的每个流媒体节点控制器发送 心跳请求来进行遍历,并设置第三定时器,其中,根据流媒体节点 控制器是否在第三定时器超时前返回心跳响应来判断其链路是否正 常。基于此,对于连续预定次数在第三定时器超时后没有心跳响应 的流媒体节点控制器,判定其为链路异常的流媒体节点控制器。进 一步地,对于判定为链路异常的流媒体节点控制器,将信息表中记 录的与其对应的链路状态设置为异常。通过遍历对照表发起主切换请求的处理具体为设置第二定时 器,触发遍历对照表中的每个节点,对于主流媒体节点控制器的标 识信息为空的节点,选择该节点的 一个链路状态为正常的流媒体节 点控制器发送主切换请求,以请求其切换为主流々某体节点控制器。在上述方法中,在发送主切换请求时,设置第四定时器。需要 说明的是,第三定时器/第四定时器的附加信息中携带有相关的流媒 体节点控制器的基本信息,以标识流媒体节点控制器。这样, 一方面,如果被请求切换的流々某体节点控制器在第四定时器超时前返回切:谈响应,则关闭第四定时器,并判断切4奐是否成功;在切换成功的情况下,将流纟某体节点控制器作为新的主流^ 某体 节点控制器,将其在信息表中对应的工作模式设置为主工作模式,并将其标识保存到对照表;在切换失败的情况下,将流媒体节点控 制器在信息表中对应的工作模式设置为从工作模式,将其所属节点 在对照表中对应的主流媒体节点控制器标识设置为空,并重新选择
其所属节点的链路状态为正常的流媒体节点控制器发送主切换请求。另外,在切换成功的情况下,进一步向新的主流^ 某体节点控制器所属的节点下的所有其他流纟某体控制切点发送,人切换请求,以"i青 求其切换到从流々某体节点控制器。之后,对于没有返回切换响应或 切换失败的情况,继续发送从切换请求;对于切换成功的情况,将 其他流媒体控制切点在信息表中对应的工作模式设置为从工作模 式。另一方面,如果^皮请求切换的流々某体节点控制器未在第四定时 器超时前返回切换响应,则将流纟某体节点控制器在信息表中对应的 工作模式设置为从工作模式,将其所属节点在对照表中对应的主流 J 某体节点控制器标识设置为空,并重新选择其所属节点的链路状态 为正常的流J 某体节点控制器发送主切换请求。通过本发明,实现了 IPTV中多Agent的切换处理,有效地仲 裁了节点下多个Agent互斥^是供服务的功能,确保了不会出现无主 Agent和多个主Agent的情况,使得各个系统能够稳定地为用户提 供各种媒体服务,因此,保证了系统的稳定性和后期维护质量,降 低了维护成本。本发明的其它特征和优点将在随后的说明书中阐述,并且,部 分地从说明书中变得显而易见,或者通过实施本发明而了解。本发 明的目的和其他优点可通过在所写的说明书、权利要求书、以及附 图中所特别指出的结构来实现和获得。


附图用来才是供对本发明的进一 步理解,并且构成i兌明书的 一部 分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中图1是本发明应用的IPTVCDN子系统的系统框架图;图2是根据本发明实施例的Agent切换处理方法的简要流程图;图3是根据本发明实施例的Agent切换处理方法中触发切换请 求以及触发切换二清求前的处理流程图;图4是才艮据本发明实施例的Agent切换处理方法中触发切换请 求后的处理流^E图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此 处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本 发明。本发明旨在提供一种流々某体节点控制器(Agent)的切换处理方法。根据本发明的Agent切换处理方法用于内容分发网络(CDN) 中的Agent切换,其中,如图l所示,CDN可以包括多个流々某体节 点(下文中简称为节点),即, 一个Manager可能控制多个节点, 而每个节点下可以有多个Agent,并且在某一时刻只有一个Agent 作为主Agent起调度作用,其4也Agent称为备用Agent或从Agent; 由于每个Agent都有可能成为主Agent,所以为了保3正系统的能够 正常提供服务,每个Agent都和所属节点下的所有流媒体建立链接。根据本发明实施例的方法的思路大致如下,即,维护(保存) 信息表和对照表,通过对信息表/对照表的遍历决定是否发起切换请 求,之后,根据对切换请求的响应结果进行后续处理。具体i也,^口图2所示,该方法可以包4舌以下处理步骤S202,设置信息表和/或对照表,其中,信息表记录了 CDN 的每个Agent的信息(包括Agent的所属节点、工作模式、链路状 态、通讯参数、IP地址等基本信息);对照表记录了 CDN的每个节 点和/或该节点的主Agent的标识信息(当某个节点没有主Agent时, 对应的主Agent标识为空);其中,该信息表和对照表中保存的信息 可以在系统重新启动后从数据库同步获得;步骤S204,遍历信息表和/或对照表,对于链^各状态为异常的 主流媒体节点控制器所属的节点和/或主流媒体节点控制器的标识 信息为空的节点,发起主切换请求。一方面,在步骤S204中,通过遍历信息表发起主切换请求的 处理具体为设置第一定时器,触发遍历信息表中的每个Agent, 即,根据信息表中Agent的通讯参数向每个Agent发送心跳请求, 并设置第三定时器,如果某Agent在第三定时器超时前返回心跳响 应,则i人为该Agent链路正常,并关闭定时器;若某Agent连续预 定次凄t (可以预先i殳置)在第三定时器超时后都没有心浪t响应,则 ^人为该Agent链i 各异常;对于判定为链路异常的Agent,将信息表中记录的与其对应的 链路状态设置为异常,并判断其是否为主Agent,如果判断结果为 是,则确定主Agent所属的节点,将所属节点在对照表中对应的主 Agent标识清空,并选择该节点的一个链路状态为正常的Agent发 送主切换请求,以请求其切换为主Agent,并i殳置第四定时器;另一方面,在步骤S204中,通过遍历对照表发起主切换请求 的处理具体为设置第二定时器,触发遍历对照表中的每个节点, 对于主Agent的标识信息为空的节点,选择该节点的一个链i 各状态 为正常的Agent发送主切换:i青求,以:清求其切:換为主Agent,并i殳 置第四定时器。需要说明的是,上述的第一至第四定时器的时长4艮据需要灵活 配置,以适应不同的应用环境或根据实际情况设置最佳值,对于第 三定时器/第四定时器,由于对于每个Agent,设置的心跳超时和切 换超时定时器都是第三定时器/第四定时器,因此,为了区分是哪一 个Agent,需要在设置定时器的附加信息中携带有相关的Agent的 基本4言息,以标:iK或区分Agent。以上描述的是发送切换请求及发送切换请求前的处理过程。通 过图3示出的详细处理流程图可以更好的理解上述处理。如图3所示,并且如上所述,可能触发Agent切4灸的有两种情 况,即,主Agent断链或;殳有主Agent:情况一主Agent断链,可以进4亍如下处理第一步设置定时器A(301),定时器A(即,上述第一定时 器)触发遍历保存在内存中的Agent信息表(302 ),该信息表中包 括Agent所属的节点、通讯参数、IPi也址、工作才莫式、链路状态等 基本信息;第二步按照通讯参数,Manager向所有的Agent发起心跳请 求(303 ),然后设置超时定时器C (即,上述第三定时器)(304);
第三步判断"i青求的Agent是否返回心3兆响应(305 )。若在定时器C超时前返回响应,则关闭定时器C (306),判断 Agent上才艮的工作模式和Manager内存中保存的是否一致,若一致, 则流程结束(317 );若不一致,则Manager向该Agent发起切才灸为 一致的切换请求(308),并设置等待切换结果的定时器D (316)。若连续多次(次数可以配置)定时器C超时后Agent也未返回 心跳响应,则判定该Agent断链,将内存中该Agent的链路状态置 为异常(309),判断断《连的Agent是否为当前的主Agent (310), 若不是,则流程结束(317 );若是,则获得该Agent所属的节点(314 ), 寻找该节点下状态正常的一个Agent作为主Agent,向其发送切换 为主Agent的切换请求(315),并设置等待切换结果的定时器D (316)。情况二,没有主Agent,可以进行如下处理第一步设置定时器B(311),定时器B触发遍历内存中的节 点和主Agent只t照表(312 );第二步判断节点在对照表中是否有对应的主Agent (313), 若有,则流程结束(317);若没有,则获得该Agent所属的节点(314), 寻找该节点下状态正常的一个Agent作为主Agent,向其发送切换: 为主Agent的切换请求(315),并设置等待切换结果的定时器D (316)。基于上述描述,将进一步描述本发明实施例在切换请求发送之 后的后续处理。一方面,如果被请求切换的Agent在第四定时器超时前返回切 换响应,则关闭第四定时器,并判断切换是否成功;在切换成功的
情况下,将Agent作为新的主Agent,将其在信息表中对应的工作 模式设置为主工作模式,并将其标识保存到对照表;在切换失败的 情况下,将Agent在信息表中对应的工作模式设置为乂人工作模式, 将其所属节点在对照表中对应的主Agent标识i殳置为空,并重新选 择其所属节点的链路状态为正常的Agent发送主切换请求。另外,在切4灸成功的情况下,进一步向新的主Agent所属的节 点下的所有其他流々某体控制切点发送从切换请求,以"清求其切换到 从Agent。之后,对于没有返回切换响应或切换失败的情况,继续 发送从切换请求;对于切换成功的情况,将其他流媒体控制切点在 信息表中对应的工作模式设置为从工作模式。另一方面,如果^皮请求切换的Agent未在第四定时器超时前返 回切换响应,则将Agent在信息表中对应的工作模式设置为从工作 模式,将其所属节点在对照表中对应的主Agent标识i殳置为空,并 重新选择其所属节点的链路状态为正常的Agent发送主切换请求。实际上,在接收到切换响应或切换结果时,Manager需要判断 该响应对切4臭为主Agent的"i青求的响应,还是对切纟灸为/人Agent的 请求的响应,并根据判断结果进行后续处理,该内容可以看照图4 来进一步理解。其中,图4的流程图详细地示出了上述接收到切换 响应后的处理流程,以下将参照图4来进一步描述本发明。如图4所示,接收到切换响应后的处理流程同样包括两种情况情况一Agent在定时器D (即,上述的第四定时器)超时前 返回切:换结果(401 ),则处理步骤力口下第一步关闭定时器D(402);第二步判断Agent要切换为的工作模式是否为主Agent( 403 ); 若要切换为从Agent,则判断返回的切换结果是否成功(404), 若不成功,则继续向该Agent发送切换为从Agent的切4灸i青求(405 ), 并设置定时器D等待切换结果(420);若切换成功,则更新内存中 Agent 4言息表中该Agent的工作才莫式(406),并同步更確斤凄t据库中 该Agent的信息(407);若要切换为主Agent,则判断返回的切换结果是否成功(408), 若成功,则更新内存中Agent信息表中该Agent的工作冲莫式(409), 并同步更新数据库中该Agent的信息(410 ),同时将该Agent标识 信息(例如,编号)保存到内存中节点和主Agent对照表中(411), 为了确-隊同一节点下只有一个主Agent,还要向该节点下所有其4也 的Agent发送一遍切4奐为/人Agent的切换i青求(412 );若不成功,则将内存中该Agent的工作;漠式置为乂人工作;漠式(415) ,并同步更新凄t才居库中该Agent的4言息(417),同时3寻内存 中节点和主Agent对照表中该节点对应的主Agent清空(416)。然 后为该节点寻4戈新的可用的主Agent (418),向其发送切纟奂为主 Agent的切换请求(419),并设置定时器D等待切纟灸结果(420)。情况二 Agent在定时器D超时后仍未返回切换结果(413), 则处理步骤如下判断Agent要切换为的工作模式是否为主Agent (414);若要切才灸为乂人Agent,则继续向i亥Agent发送士刀4奐为乂人Agent 的切换请求(421 ),并设置定时器D等待切换结果(420 )。若要切换为主Agent,则将内存中该Agent的工作才莫式置为乂人 工作才莫式(415),并同步更新数据库中该Agent的信息(417),同 时S夸内存中节点和主Agent对照表中该节点对应的主Agent清空(416) 。然后为该节点寻找新的可用的主Agent (418),向其发送
切换为主Agent的切换请求(419 ),并设置定时器D等4寺切换结果 (420 )。至此,流禾呈全部结束。这才羊,通过本发明,^f呆证在Manager的仲裁和冲示i只确i人下,不 会出现无主Agent和多主Agent的情况,使得整个系统能稳定的为 用户提供各种媒体服务。以上所述仅为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的4呆护范围之内。
权利要求
1.一种流媒体节点控制器的切换处理方法,用于内容分发网络中的流媒体节点控制器切换,其中,内容分发网络的流媒体节点下有多个流媒体节点控制器,并且在某一时刻只有一个流媒体节点控制器作为主流媒体节点控制器起调度作用,其特征在于,包括设置信息表和/或对照表,其中,信息表记录了内容分发网络的每个流媒体节点控制器的信息,所述信息包括流媒体节点控制器的所属节点、工作模式、链路状态;对照表记录了内容分发网络的每个节点和/或该节点的主流媒体节点控制器的标识信息;遍历所述信息表和/或所述对照表,对于链路状态为异常的主流媒体节点控制器所属的节点和/或主流媒体节点控制器的标识信息为空的节点,发起主切换请求。
2. 根据权利要求1所述的方法,其特征在于,通过遍历所述信息 表发起主切换请求的处理具体为设置第一定时器,触发遍历所述信息表中的每个流媒体节 点控制器,对于判定为链路异常的流媒体节点控制器,判断其 是否为主流媒体节点控制器,如果判断结果为是,则确定所述 主流媒体节点控制器所属的节点,并选择该节点的一个链路状 态为正常的流J 某体节点控制器发送主切换请求,以请求其切换 为主流媒体节点控制器。
3. 根据权利要求2所述的方法,其特征在于,通过向所述信息表 中的每个流媒体节点控制器发送心跳请求来进行遍历,并设置 第三定时器,其中,根据流^ 某体节点控制器是否在第三定时器 超时前返回心跳响应来判断其链路是否正常。
4. 根据权利要求3所述的方法,其特征在于,所述第三定时器的 附加信息中携带有相关的流媒体节点控制器的基本信息,以标 识流媒体节点控制器。
5. 根据权利要求3所述的方法,其特征在于,对于连续预定次数 在所述第三定时器超时后没有返回心跳响应的流纟某体节点控 制器,判定其为链路异常的流媒体节点控制器。
6. 根据权利要求5所述的方法,其特征在于,对于所述判定为链 路异常的流媒体节点控制器,将所述信息表中记录的与其对应 的链路状态设置为异常。
7. 根据权利要求6所述的方法,其特征在于,对于判定为链路异 常的主流J 某体节点控制器,还将其所属节点在所述对照表中对 应的主流^ 某体节点控制器标识信息清空。
8. 根据权利要求1所述的方法,其特征在于,通过遍历所述对照 表发起主切换请求的处理具体为设置第二定时器,触发遍历所述对照表中的每个节点,对 于主流媒体节点控制器的标识信息为空的节点,选择该节点的 一个链路状态为正常的流士某体节点控制器发送主切换请求,以 请求其切换为主流媒体节点控制器。
9. 才艮据权利要求2至8中任一项所述的方法,其特征在于,在发 送主切换请求时,设置第四定时器。
10. 根据权利要求9所述的方法,其特征在于,所述第四定时器的 附加信息中携带有相关的流媒体节点控制器的基本信息,以标 识流媒体节点控制器。
11. 根据权利要求9所述的方法,其特征在于,进一步包括如果被请求切换的所述流媒体节点控制器在所述第四定 时器超时前返回切:换响应,则关闭所述第四定时器,并判断切 换是否成功;在切换成功的情况下,将所述流^ 某体节点控制器作为新的 主流媒体节点控制器,将其在所述信息表中对应的工作模式设 置为主工作模式,并将其标识保存到所述对照表;在切换失败的情况下,将所述流々某体节点控制器在所述信 息表中对应的工作模式设置为从工作模式,将其所属节点在所 述对照表中对应的主流媒体节点控制器标识i殳置为空,并重新 选择其所属节点的链路状态为正常的流媒体节点控制器发送主切换请求。
12. 根据权利要求11所述的方法,其特征在于,在切换成功的情 况下,进 一 步向所述新的主流々某体节点控制器所属的节点下的 所有其他流媒体控制切点发送从切换请求,以-清求其切换到从流媒体节点控制器。
13. 根据权利要求12所述的方法,其特征在于,对于没有返回切 换响应或切换失败的情况,继续发送所述从切换请求;对于切 换成功的情况,将所述其他流媒体控制切点在所述信息表中对 应的工作模式设置为从工作模式。
14. 根据权利要求9所述的方法,其特征在于,进一步包括如果被请求切换的所述流媒体节点控制器未在所述第四 定时器超时前返回切换响应,则将所述流媒体节点控制器在所 述信息表中对应的工作模式设置为从工作模式,将其所属节点 在所述对照表中对应的主流々某体节点控制器标识设置为空,并 重新选择其所属节点的链路状态为正常的流媒体节点控制器 发送主切^^青求。
全文摘要
本发明提供了一种流媒体节点控制器的切换处理方法,包括设置信息表和对照表;遍历信息表和/或所述对照表,对于链路状态为异常的主流媒体节点控制器所属的节点和/或主流媒体节点控制器的标识信息为空的节点,发起主切换请求。通过本发明,实现了IPTV中多Agent的切换处理,有效地仲裁了节点下多个Agent互斥提供服务的功能,确保了不会出现无主Agent和多个主Agent的情况,使得各个系统能够稳定地为用户提供各种媒体服务,因此,保证了系统的稳定性和后期维护质量,降低了维护成本。
文档编号H04L29/08GK101119318SQ20071014930
公开日2008年2月6日 申请日期2007年9月4日 优先权日2007年9月4日
发明者琰 刘 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1