流媒体转码服务监控方法和装置以及计算机可读存储介质与流程

文档序号:18009389发布日期:2019-06-25 23:48阅读:168来源:国知局
流媒体转码服务监控方法和装置以及计算机可读存储介质与流程
本发明涉及移动互联网
技术领域
,特别涉及一种流媒体转码服务监控方法和装置以及计算机可读存储介质。
背景技术
:移动设备是互联网应用的入口,成为应用提供商、运营商和用户关注的焦点,成为了移动互联网主流应用形态。目前视频流媒体开源技术成熟,因此可以通过移动互联网实现移动视频应用,以在移动终端上进行监控视频的浏览。然而,由于各视频监控厂商接入视频流格式的不同,需要将这些视频转码成统一格式后在移动终端中观看。然而,多种不同的视频流格式经常会造成转码服务不稳定,导致障碍频发、修复时间长,影响了视频监控的正常使用。技术实现要素:本发明实施例所要解决的一个技术问题是:如何降低转码服务的障碍率。根据本发明一些实施例的第一个方面,提供一种流媒体转码服务监控方法,包括:获取当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表,其中,检测时刻对应的缓存文件列表包括检测时刻之前采集的流媒体转码服务产生的缓存文件的名称;比较当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表;响应于当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表相同,重新启动流媒体转码服务。在一些实施例中,相邻检测时刻之间的时间间隔大于产生相邻缓存文件的时间间隔。在一些实施例中,流媒体转码服务监控方法还包括:响应于当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表相同,在重新启动流媒体转码服务之前,删除缓存文件。在一些实施例中,流媒体转码服务监控方法还包括:采用递归搜索方法获取用于存储缓存文件的目录中的缓存文件的名称。在一些实施例中,流媒体转码服务监控方法还包括:监测流媒体转码服务的cpu(centralprocessingunit,中央处理器)使用率;响应于cpu使用率高于预设的阈值,重新启动流媒体转码服务。根据本发明一些实施例的第二个方面,提供一种流媒体转码服务监控装置,包括:缓存文件列表获取模块,用于获取当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表,其中,检测时刻对应的缓存文件列表包括检测时刻之前采集的流媒体转码服务产生的缓存文件的名称;缓存文件列表比较模块,用于比较当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表;重新启动模块,用于响应于当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表相同,重新启动流媒体转码服务。在一些实施例中,相邻检测时刻之间的时间间隔大于产生相邻缓存文件的时间间隔。在一些实施例中,流媒体转码服务监控装置还包括:缓存文件删除模块,用于响应于当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表相同,在重新启动流媒体转码服务之前,删除缓存文件。在一些实施例中,流媒体转码服务监控装置还包括:缓存文件名称获取模块,用于采用递归搜索方法获取用于存储缓存文件的目录中的缓存文件的名称。在一些实施例中,流媒体转码服务监控装置还包括:cpu使用率监测模块,用于监测流媒体转码服务的cpu使用率,响应于cpu使用率高于预设的阈值,重新启动流媒体转码服务。根据本发明一些实施例的第三个方面,提供一种流媒体转码服务监控装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述任意一种流媒体转码服务监控方法。根据本发明一些实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种流媒体转码服务监控方法。上述发明中的一些实施例具有如下优点或有益效果:本发明通过比较不同检测时刻的缓存文件列表是否相同来判断流媒体转码服务是否停止,以便在流媒体转码服务停止的情况下进行重启,使得流媒体转码服务能够正常运行,响应速度快,降低了流媒体转码服务的障碍率。通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为根据本发明一些实施例的流媒体转码服务监控方法的流程图。图2为根据本发明另一些实施例的流媒体转码服务监控方法的流程图。图3为根据本发明又一些实施例的流媒体转码服务监控方法的流程图。图4为根据本发明一些实施例的流媒体转码服务监控装置的结构图。图5为根据本发明另一些实施例的流媒体转码服务监控装置的结构图。图6为根据本发明又一些实施例的流媒体转码服务监控装置的结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。图1为根据本发明一些实施例的流媒体转码服务监控方法的流程图。如图1所示,该实施例的流媒体转码服务监控方法包括步骤s102~s106。在步骤s102中,获取当前检测时刻和上一检测时刻对应的缓存文件列表。检测时刻对应的缓存文件列表包括检测时刻之前采集的流媒体转码服务产生的缓存文件的名称,缓存文件中包括视频流数据。例如,设每2秒生成一个缓存文件,相邻的检测时刻之间的时间间隔为4秒。每个检测时刻新增的缓存文件参考表1所示。表1时间新增缓存文件检测时刻第t秒缓存文件1检测时刻n第t+2秒缓存文件2第t+4秒缓存文件3检测时刻n+1第t+6秒缓存文件4第t+8秒缓存文件5检测时刻n+2第t+10秒缓存文件5第t+12秒缓存文件6检测时刻n+3第t+14秒缓存文件7第t+16秒缓存文件8检测时刻n+4第t+18秒缓存文件9如果当前检测时刻为检测时刻n+4,则当前检测时刻对应的缓存文件列表为:{缓存文件1,缓存文件2,缓存文件3,缓存文件4,缓存文件5,缓存文件6,缓存文件7,缓存文件8},上一检测时刻对应的缓存文件列表为:{缓存文件1,缓存文件2,缓存文件3,缓存文件4,缓存文件5,缓存文件6}。在一些实施例中,相邻检测时刻之间的时间间隔可以大于产生相邻缓存文件的时间间隔。从而可以使得正常情况下每个检测时刻相较于前一检测时刻都有新的缓存文件产生。在步骤s104中,比较当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表。在步骤s106中,响应于当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表相同,重新启动流媒体转码服务。在一些实施例中,在重新启动流媒体转码服务之前,还可以删除缓存文件。在部分流媒体转码应用中,存储的缓存文件的总数的最大值是不变的。例如,系统最多存储10个缓存文件,当第11个缓存文件产生时,可以删除第1个缓存文件,以节约存储空间,以此类推。当重启之后,应用不会将重新启动之前存储的缓存文件视为替换的对象,这些重新启动之前存储的缓存文件可能会一直保存在系统中而不会被替换掉。因此,通过在重新启动转码服务之前删除缓存文件,可以节约存储空间,提高转码效率。例如,可以获取该流媒体转码服务进程的pid(processidentification,进程标识符),并采用系统的应用程序接口来终止该pid对应的进程并释放内存。在一些实施例中,可以根据一个预设的时钟间隔来进行延时重启。由于流媒体文件需要依赖网络进行发送以便播放,因此在发送的过程中很容易由于网络问题而出现连续丢帧等情况,造成流媒体转码服务停止,从而无法生成新的缓存文件。因此,发明人想到,可以借助流媒体的这种在正常工作情况下不断产生缓存文件的特点来对故障进行修复。上述实施例通过比较不同检测时刻的缓存文件列表是否相同来判断流媒体转码服务是否停止,以便在流媒体转码服务停止的情况下进行重启,使得流媒体转码服务能够正常运行,响应速度快,降低了流媒体转码服务的障碍率。在一些实施例中,可以采用递归搜索方法获取用于存储缓存文件的目录中的缓存文件的名称,从而可以逐层获取目录中的缓存文件,以快速地获取当前已生成的缓存文件的名称。在实现时,可以使用现有的工具来实现递归搜索文件名,例如linux操作系统中的find(查找)指令,也可以通过java等编程语言实现递归搜索功能,这里不再赘述。下面参考图2描述本发明流媒体转码服务监控方法的实施例。图2为根据本发明另一些实施例的流媒体转码服务监控方法的流程图。如图2所示,该实施例的流媒体转码服务监控方法包括步骤s202~s214。在步骤s202中,在第一时刻,采用递归搜索方法获取用于存储缓存文件的目录中的缓存文件的名称。用于存储缓存文件的目录例如可以为流媒体转码服务的工作目录或者文件目录等等。在步骤s204中,将第一检测时刻对应的缓存文件列表赋值给第一文本变量。在步骤s206中,在第二时刻,采用递归搜索方法获取用于存储缓存文件的目录中的缓存文件的名称。在步骤s208中,将第二检测时刻对应的缓存文件列表赋值给第二文本变量。在步骤s210中,比较第一文本变量和第二文本变量是否相同。如果相同,执行步骤s212;如果不同,执行步骤s214。在步骤s212中,重新启动流媒体转码服务。在步骤s214中,继续监控。通过上述实施例的方法,可以采用文本变量来比较相邻时刻的缓存文件列表是否相同,从而可以快速地判断流媒体转码服务是否停止,降低了流媒体转码服务器的障碍率。在一些实施例中,本发明还可以参考cpu使用率来决定是否进行重新启动。下面参考图3描述本发明流媒体转码服务监控方法的实施例。图3为根据本发明又一些实施例的流媒体转码服务监控方法的流程图。如图3所示,该实施例的流媒体转码服务监控方法包括步骤s302~s310。在步骤s302中,获取当前检测时刻和上一检测时刻对应的缓存文件列表。在步骤s304中,比较当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表是否相同。如果相同,执行步骤s308;如果不同,执行步骤s310。在步骤s306中,监测流媒体转码服务的cpu使用率,判断cpu使用率是否高于预设值。如果高于,执行步骤s308;如果不高于,执行步骤s310。在步骤s308中,重新启动流媒体转码服务。步骤s310,继续监控。例如,可以获取该流媒体转码服务进程的pid,进而根据pid来获取该进行的cpu使用率。通过上述实施例的方法,可以根据在相邻检测时刻是否对应相同的缓存文件列表以及cpu使用率是否高于预设值来综合判断转码服务是否处于不稳定状态,从而可以快速地针对异常情况进行重启处理,降低了流媒体转码服务的障碍率。上述实施例的方法可以并行地进行缓存文件列表的判断以及cpu使用率的判断。此外,本领域技术人员也可以根据需要优先采用其中的一种判断方式。cpu使用率的判断的周期可以与缓存文件列表判断的周期一致、也可以不一致。下面参考图4描述本发明流媒体转码服务监控装置的实施例。图4为根据本发明一些实施例的流媒体转码服务监控装置的结构图。如图4所示,该实施例的流媒体转码服务监控装置40包括:缓存文件列表获取模块410,用于获取当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表,其中,检测时刻对应的缓存文件列表包括检测时刻之前采集的流媒体转码服务产生的缓存文件的名称;缓存文件列表比较模块420,用于比较当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表;重新启动模块430,用于响应于当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表相同,重新启动流媒体转码服务。上述实施例通过比较不同检测时刻的缓存文件列表是否相同来判断流媒体转码服务是否停止,以便在流媒体转码服务停止的情况下进行重启,使得流媒体转码服务能够正常运行,响应速度快,降低了流媒体转码服务的障碍率。在一些实施例中,相邻检测时刻之间的时间间隔可以大于产生相邻缓存文件的时间间隔。从而可以使得正常情况下每个检测时刻相较于前一检测时刻都有新的缓存文件产生。在一些实施例中,流媒体转码服务监控装置40还可以包括:缓存文件删除模块440,用于响应于当前检测时刻对应的缓存文件列表和上一检测时刻对应的缓存文件列表相同,在重新启动流媒体转码服务之前,删除缓存文件。通过在重新启动转码服务之前删除缓存文件,可以节约存储空间,提高转码效率。在一些实施例中,流媒体转码服务监控装置40还可以包括:缓存文件名称获取模块450,用于采用递归搜索方法获取用于存储缓存文件的目录中的缓存文件的名称。从而,可以快速地获取当前已生成的缓存文件的名称。在一些实施例中,流媒体转码服务监控装置40还可以包括:cpu使用率监测模块460,用于监测流媒体转码服务的cpu使用率,响应于cpu使用率高于预设的阈值,重新启动流媒体转码服务。从而可以根据在相邻检测时刻是否对应相同的缓存文件列表以及cpu使用率是否高于预设值来综合判断转码服务是否处于不稳定状态,从而可以快速地针对异常情况进行重启处理,降低了流媒体转码服务的障碍率。图5为根据本发明另一些实施例的流媒体转码服务监控装置的结构图。如图5所示,该实施例的流媒体转码服务监控装置500包括:存储器510以及耦接至该存储器510的处理器520,处理器520被配置为基于存储在存储器510中的指令,执行前述任意一个实施例中的流媒体转码服务监控方法。其中,存储器510例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)以及其他程序等。图6为根据本发明又一些实施例的流媒体转码服务监控装置的结构图。如图6所示,该实施例的流媒体转码服务监控装置600包括:存储器610以及处理器620,还可以包括输入输出接口630、网络接口640、存储接口650等。这些接口630,640,650以及存储器610和处理器620之间例如可以通过总线660连接。其中,输入输出接口630为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口640为各种联网设备提供连接接口。存储接口650为sd卡、u盘等外置存储设备提供连接接口。本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种流媒体转码服务监控方法。本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1