一种故障恢复装置及方法 【技术领域】
本发明涉及多媒体应用领域的故障恢复技术,特别是一种媒体处理单元的故障恢复装置及方法。
背景技术
多媒体技术是一种将文字、图像、声音等相结合的技术,广泛应用于教育和培训、咨询和演示、娱乐和游戏、视频会议系统等领域。
现有技术中,多媒体系统主要包括:主控单元和媒体处理单元;主控单元,用于向媒体处理单元发送媒体命令和媒体数据;媒体处理单元即媒体处理设备,通常采用数字信号处理器(DSP,Digital Signal Processor),用于执行媒体命令并处理媒体数据,以显示图像内容。
在实际应用中,媒体处理单元会因出现故障,而导致不响应媒体命令、或者死机等现象。通常的解决方法是,通过主控单元将媒体处理单元重新启动,使媒体处理单元恢复到初始状态,但这样会使媒体处理单元丢失当前正在处理的媒体命令和媒体数据,使媒体处理单元的状态与主控单元的状态不一致,导致媒体处理单元无法对主控单元发送的媒体命令及媒体数据做出正确的响应。一般情况下,为了使主控单元与媒体处理单元的状态相一致,就需要将主控单元恢复到与媒体处理单元相对应的初始状态,由于主控单元的状态复杂,需要人工参与业务模式的恢复设置,从而导致媒体处理单元的故障恢复时间过长。
【发明内容】
有鉴于此,本发明的主要目的在于提供一种故障恢复装置及方法,使媒体处理单元出现故障后,快速恢复到故障前的状态,从而缩短媒体处理单元故障恢复的时间。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种故障恢复装置,该装置包括:媒体恢复控制器、媒体监测单元、媒体命令队列及媒体数据队列;其中,
媒体监测单元,用于监测媒体处理单元的工作状态,并当监测到媒体处理单元出现故障时,通知媒体恢复控制器;
媒体恢复控制器,用于通过媒体监测单元监测媒体处理单元的工作状态,并在得知媒体处理单元出现故障时,将媒体处理单元复位,将媒体命令队列中所保存的必要媒体命令、媒体数据队列中所保存的关键媒体数据发给媒体处理单元;
媒体命令队列,用于保存主控单元发送给媒体处理单元的必要媒体命令;
媒体数据队列,用于保存主控单元发送给媒体处理单元的关键媒体数据。
上述方案中,所述媒体恢复控制器,还用于将必要媒体命令记录在媒体命令队列中,以及将关键媒体数据记录在媒体数据队列中。
上述方案中,该装置还包括:媒体通道恢复单元,用于恢复主控单元与媒体处理单元之间的通讯通道。
上述方案中,所述媒体恢复控制器,还用于在得知媒体处理单元故障后,通知媒体通道恢复单元恢复主控单元与媒体处理单元之间的通讯通道。
本发明还提供了一种故障恢复方法,该方法包括:
媒体恢复控制器通过媒体监测单元对媒体处理单元的工作状态进行监测,当媒体处理单元出现故障时,将媒体处理单元复位,并将媒体命令队列中所保存的必要媒体命令、及媒体数据队列中所保存的关键媒体数据发送给媒体处理单元;
所述媒体命令队列保存主控单元发送给媒体处理单元的必要媒体命令;
所述媒体数据队列保存主控单元发送给媒体处理单元的关键媒体数据。
上述方案中,所述媒体恢复控制器通过媒体监测单元对媒体处理单元的工作状态进行监测,具体包括:媒体恢复控制器通知媒体监测单元依据故障判断条件监测媒体处理单元的工作状态,并当媒体监测单元监测到媒体处理单元故障时,通知媒体恢复控制器。
上述方案中,所述媒体恢复控制器将媒体处理单元复位之后,进一步包括:媒体恢复控制器恢复媒体处理单元的命令通道和数据通道。
上述方案中,媒体恢复控制器通过媒体监测单元对媒体处理单元的工作状态进行监测时,还包括:媒体恢复控制器将主控单元发送给媒体处理单元的媒体命令中的必要媒体命令记录在媒体命令队列中,以及将主控单元发送给媒体处理单元的关键媒体数据记录在媒体数据队列中。
上述方案中,所述将必要媒体命令和关键媒体数据发送给媒体处理单元之后,还包括:媒体恢复控制器分别清空媒体命令队列中的必要媒体命令及媒体数据队列中的关键媒体数据。
本发明所提供的故障恢复装置及方法,媒体恢复控制器通过媒体监测单元对媒体处理单元的工作状态进行监测,并将主控单元发送的必要媒体命令和关键媒体数据分别记录在媒体命令队列和媒体数据队列中,当媒体处理单元出现故障时,媒体恢复控制器将其复位,并将媒体命令队列中所保存的必要媒体命令、及媒体数据队列中所保存的关键媒体数据发送给媒体处理单元;并在媒体处理单元故障恢复后,清空媒体命令队列和媒体数据队列所记录的所有命令和数据。采用本发明所述的装置及方法,能够在不改变主控单元当前状态的情况下,使媒体处理单元快速恢复到故障前的状态,从而缩短了媒体处理单元的故障恢复时间。
【附图说明】
图1为本发明中故障恢复装置的组成结构图;
图2为本发明中故障恢复方法的流程图。
【具体实施方式】
本发明的基本思想是:媒体恢复控制器通过媒体监测单元对媒体处理单元的工作状态进行监测,并将主控单元发送的媒体命令中的必要媒体命令和媒体数据中的关键媒体数据分别记录在媒体命令队列和媒体数据队列中,当媒体处理单元出现故障时,媒体恢复控制器将其复位,并将媒体命令队列中所保存的必要媒体命令、及媒体数据队列中所保存的关键媒体数据发送给媒体处理单元,以使媒体处理单元快速恢复到故障前的状态,从而缩短了媒体处理单元地故障恢复时间。
下面结合具体实施例对实现本发明的装置及方法进行详细描述。
本发明提供的故障恢复装置,如图1所示,该装置包括:主控单元101、媒体恢复控制器102、媒体监测单元103、媒体命令队列104、媒体数据队列105、媒体处理单元106及媒体通道恢复单元107;其中,
主控单元101,用于向媒体处理单元106发送媒体命令和媒体数据;
媒体恢复控制器102,与主控单元101、媒体监测单元103、媒体命令队列104及媒体数据队列105相连,用于通过媒体监测单元103监测媒体处理单元106的工作状态,在媒体处理单元106出现故障时,将媒体处理单元106复位,并将媒体命令队列104中所保存的必要媒体命令、及媒体数据队列105中所保存的关键媒体数据发给媒体处理单元106;
媒体监测单元103,与媒体恢复控制器102及媒体处理单元106相连,用于监测媒体处理单元106的工作状态,并当监测到媒体处理单元106出现故障时,通知媒体恢复控制器102;
媒体命令队列104,与主控单元101及媒体处理单元106相连,用于保存主控单元101发送给媒体处理单元106的必要媒体命令;
媒体数据队列105,与主控单元101及媒体处理单元106相连,用于保存主控单元101发送给媒体处理单元106的关键媒体数据;
媒体处理单元106,用于执行主控单元101发送的媒体命令,并对媒体数据进行解码,并可进一步用于显示媒体图像。
进一步地,所述媒体恢复控制器102,还用于将必要媒体命令记录在媒体命令队列104中,以及将关键媒体数据记录在媒体数据队列105中。
所述装置还包括:媒体通道恢复单元107,用于恢复主控单元101与媒体处理单元106之间的通讯通道。
进一步地,所述媒体恢复控制器102,还用于对媒体处理单元106复位后,通知媒体通道恢复单元107恢复主控单元101与媒体处理单元106之间的通讯通道。
基于上述装置,本发明提供了一种故障恢复方法,如图2所示,该方法包括以下步骤:
步骤201:媒体恢复控制器102启动媒体恢复功能,并通知媒体监测单元103监测媒体处理单元106的工作状态;
本步骤中,主控单元101通知媒体恢复控制器102启动媒体恢复功能,媒体恢复控制器102启动媒体恢复功能,将媒体处理单元106的故障判断条件发给媒体监测单元103,通知媒体监测单元103依据上述故障判断条件对媒体处理单元106的工作状态进行监测。其中,媒体监测单元103对媒体处理单元106工作状态进行监测的具体实现可以设置为:媒体监测单元103通过定期向媒体处理单元106收发报文来监测媒体处理单元106的工作状态;所述故障判断条件为:媒体恢复控制器102制定的报文周期。这样,媒体监测单元103向媒体处理单元106发送报文后,如果在报文周期内没有收到媒体处理单元106返回的报文,则认为媒体处理单元106出现故障;如果在报文周期内收到媒体处理单元106返回的报文,则认为媒体处理单元106工作状态正常。
步骤202:媒体恢复控制器102将必要媒体命令记录在媒体命令队列104中,以及将关键媒体数据记录在媒体数据队列105中;
本步骤中,在媒体处理单元106状态正常时,由媒体恢复控制器102启动媒体命令队列104和媒体数据队列105,媒体处理单元106正常处理主控单元101发送的媒体命令及媒体数据;媒体恢复控制器102将主控单元101发送给媒体处理单元106的媒体命令中的必要媒体命令记录在媒体命令队列104中,并根据媒体命令的类型对媒体命令队列104中记录的必要媒体命令的条目进行增减,以减少媒体命令队列104的队列长度。所述必要媒体命令,是指能够改变媒体处理单元106状态的命令,例如开始解码、停止解码及亮度调节等命令;其中,开始解码、停止解码命令属于清除队列命令,当上述清除队列命令记录在媒体命令队列104中后,媒体命令队列104中保存的所有媒体命令将全部清除;亮度调节命令属于替换命令,当替换命令记录在媒体命令队列104后,媒体命令队列104中保存的其他替换命令将去除,并将该替换命令记录在媒体命令队列104中,从而减少了媒体命令队列104的队列长度,如亮度为100的亮度调节命令记录在媒体命令队列104后,则该命令就会替换掉之前队列中保存的亮度为10的命令,以减少队列的长度;还有一类属于查询命令,认为其不是必要媒体命令,不需要记录在媒体命令队列104中,如主控单元101向媒体处理单元106发送的查询工作状态命令,则不需要记录。由于媒体数据处理的特有属性,媒体处理单元106的状态不是很多,使得保存在媒体命令队列104中的必要媒体命令不会很多,从而保证了媒体命令队列104不至于过长。
在媒体处理单元106状态正常时,媒体恢复控制器102还将主控单元101发送给媒体处理单元106的最近的媒体数据中的关键媒体数据记录在媒体数据队列105中,所述关键媒体数据是指数据码流中的关键帧;例如,当媒体处理单元106处理标准编码格式为H.264的码流时,图像参数集、序列参数集及I帧数据都可以作为关键媒体数据记录在媒体数据队列105中。由于媒体数据处理的特有属性,可以允许媒体数据在不影响图像的显示的前提下具有一定程度的损失,所以在媒体数据队列105中只保存关键媒体数据即可,而不用记录下全部的媒体数据,大大缩短了媒体数据队列105的队列长度。
这里,关于媒体命令队列104和媒体数据队列105的队列长度的设置,可以根据实际应用情况而具体设置,以避免所记录的必要媒体命令和关键媒体数据溢出。
步骤203:媒体恢复控制器102通过媒体监测单元103得知媒体处理单元106故障后,对媒体处理单元106执行复位,并恢复命令通道和数据通道;
本步骤中,媒体处理单元106会周期性地向媒体监测单元103发送报文,当媒体监测单元103没有在报文周期内收到媒体处理单元106发送的报文时,根据故障判断条件,媒体监测单元103认为媒体处理单元106出现故障,并通知媒体恢复控制器102;媒体恢复控制器102收到通知后,对媒体处理单元106执行复位,便可使媒体处理单元106恢复到初始的正常状态;具体地,媒体监测单元103可以通过向媒体处理单元106的复位管脚发送复位信号,来对媒体处理单元106执行复位;
媒体恢复控制器102还通知媒体通道恢复单元107重新建立命令通道和数据通道,以恢复主控单元101与媒体处理单元106之间的命令通道和数据通道。其中,建立命令通道和数据通道均为现有技术,在此不做详细描述。
步骤204:媒体恢复控制器102将媒体命令队列104中所保存的必要媒体命令、及媒体数据队列105中所保存的关键媒体数据发送给媒体处理单元106;
本步骤中,媒体恢复控制器102将媒体命令队列104中所保存的必要媒体命令发送给媒体处理单元106,使媒体处理单元106按照必要媒体命令的历史发生时间依次恢复,使媒体处理单元106最终恢复到故障前的状态;媒体恢复控制器102将媒体数据队列105中所保存的最近的关键媒体数据发送给媒体处理单元106,使媒体处理单元106恢复最近的关键媒体数据。通过步骤202所述可以看到,由于媒体命令队列104及媒体数据队列105的队列长度较短,从而缩短了媒体处理单元106的故障恢复时间。
这里,在媒体处理单元106故障恢复的时间内,由于主控单元101的状态没有改变,因此还会继续向媒体处理单元106发送媒体命令和媒体数据,此时,媒体恢复控制器102会继续将必要媒体命令和关键媒体数据分别记录在媒体命令队列104及媒体数据队列105中,并在媒体处理单元106故障恢复后,将故障恢复时间内所保存的必要媒体命令和关键媒体数据发送给媒体处理单元106,保证媒体处理单元106故障恢复后的状态与主控单元101的状态保持一致。
步骤205:媒体恢复控制器102分别清空媒体命令队列104及媒体数据队列105。
本步骤中,当媒体监测单元103依据故障判断条件监测到媒体处理单元106的工作状态恢复正常后,通知媒体恢复控制器102,并由媒体恢复控制器102分别清空媒体命令队列104中保存的媒体命令及媒体数据队列105中保存的关键媒体数据,并通知媒体监测单元103开始对媒体处理单元106进行新一轮的监测。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。