一种基于用户态文件系统的监控方法技术方案

技术编号:23983054 阅读:24 留言:0更新日期:2020-04-29 12:14
本发明专利技术公开了一种基于用户态文件系统的监控方法。它具体包括如下步骤:(1)转码app中的转码进程在启动时初始化mvfs,mvfs通过fuse挂载虚拟文件系统;(2)转码app中的转码进程各模块向mvfs注册监控指标变量,由mvfs通过fuse映射为虚拟文件;(3)转码app中的转码进程各模块在需要时更新mvfs监控指标变量;(4)用户依次通过浏览器、web服务器、代理服务器采集转码app中的转码进程的某个或某些监控指标,进行跟踪监测。本发明专利技术的有益效果是:实时监控转码进程的运行状态,或者在异常时现场快速精确定位问题,变量仍存在转码进程空间内,注册以及更新指标变量并没有内核上下文切换,效率高。

A monitoring method based on user state file system

【技术实现步骤摘要】
一种基于用户态文件系统的监控方法
本专利技术涉及音视频转码处理相关
,尤其是指一种基于用户态文件系统的监控方法。
技术介绍
在线编转码系统设备需要7*24小时运行,在长时间运行的过程中需要保证转码的稳定性,需要实时监控转码系统内部状态。现有的监控一般基于设备级的监控,如CPU,内存,网络等,没有监控转码app内部状态的有效机制。同时,为了尽量降低转码进程和监控系统之间的耦合性,可以由转码进程内部各模块输出内部变量到临时文件系统,通过直接读取这些文件来分析定位。但是输出到文件系统会造成一系列的问题:如对系统IO造成影响,从而影响转码性能;可能会残留大量的小文件,消耗系统资源。
技术实现思路
本专利技术是为了克服现有技术中存在上述的不足,提供了一种实时监控转码进程运行状态的基于用户态文件系统的监控方法。为了实现上述目的,本专利技术采用以下技术方案:一种基于用户态文件系统的监控方法,具体包括如下步骤:(1)转码app中的转码进程在启动时初始化mvfs,mvfs通过fuse挂载虚拟文件系统;(2)转码app中的转码进程各模块向mvfs注册监控指标变量,由mvfs通过fuse映射为虚拟文件;(3)转码app中的转码进程各模块在需要时更新mvfs监控指标变量;(4)用户依次通过浏览器、web服务器、代理服务器采集转码app中的转码进程的某个或某些监控指标,进行跟踪监测。为了实时监控转码进程的运行状态,或者在异常时现场快速精确定位问题,需要在异常时能够看到转码进程内部模块运行状态。本方法设计了一套在不影响编转码app运行的情况下实时观察内部逻辑的机制,采用用户态文件系统FUSE框架实现转码进程各模块指标和文件的一一映射来实现,变量仍存在转码进程空间内,注册以及更新指标变量并没有内核上下文切换,效率高,几乎不耗性能。作为优选,fuse是一个用户空间中的文件系统,包含2个部分,分别为:内核中需要挂载的fuse内核模块和与用户态文件系统直接交互的用户空间接口模块;在加载fuse模块的过程中,要在内核中注册fuse文件系统,并生成fuse设备,fuse设备是内核里的fuse文件系统和用户态文件系统的通信媒介,用户态文件系统通过读取fuse设备的内容,获取内核中fuse文件系统发来的请求;而内核中的fuse文件系统,则把请求写入fuse设备,等待用户态文件系统处理。作为优选,在步骤(4)中,具体操作方法为:(41)用户通过浏览器发送监控请求;(42)web服务器收到监控请求后建立session,返回给浏览器;(43)浏览器启动websocket连接web服务器,开始接收数据;(44)Web服务器向代理服务器发送请求;(45)代理服务器收到请求后查询是否有转码任务进程存在,如果存在返回成功;如果失败返回错误信息给浏览器;(46)代理服务器启动采集线程,定时把采集到的数据发送给web服务器;(47)web服务器收到数据后通过websocket发送给浏览器,浏览器显示采集到的数据。作为优选,在步骤(41)中,监控请求包含转码任务ID和监控指标列表。作为优选,在步骤(44)中,请求包含转码任务ID和监控指标列表。本专利技术的有益效果是:实时监控转码进程的运行状态,或者在异常时现场快速精确定位问题,变量仍存在转码进程空间内,注册以及更新指标变量并没有内核上下文切换,效率高。附图说明图1是本专利技术的方法流程图。具体实施方式下面结合附图和具体实施方式对本专利技术做进一步的描述。如图1所述的实施例中,一种基于用户态文件系统的监控方法,具体包括如下步骤:(1)转码app中的转码进程在启动时初始化mvfs,mvfs通过fuse挂载虚拟文件系统;其中:fuse是一个用户空间中的文件系统,包含2个部分,分别为:内核中需要挂载的fuse内核模块和与用户态文件系统直接交互的用户空间接口模块;在加载fuse模块的过程中,要在内核中注册fuse文件系统,并生成fuse设备,fuse设备是内核里的fuse文件系统和用户态文件系统的通信媒介,用户态文件系统通过读取fuse设备的内容,获取内核中fuse文件系统发来的请求;而内核中的fuse文件系统,则把请求写入fuse设备,等待用户态文件系统处理。mvfs接口设计:enumMVFS_PERMISSION{MVFS_PERMISSION_READ,MVFS_PERMISSION_WRITE};enumMVFS_DTYPE{MVFS_DTYPE_UNKNOWN,MVFS_DTYPE_INT8,MVFS_DTYPE_INT16,MVFS_DTYPE_INT32,MVFS_DTYPE_INT64,MVFS_DTYPE_UINT8,MVFS_DTYPE_UINT16,MVFS_DTYPE_UINT32,MVFS_DTYPE_UINT64,MVFS_DTYPE_FLOAT,MVFS_DTYPE_DOUBLE,MVFS_DTYPE_STR};void*var_register(constchar*path,intvtype,intpermission,MVFS_Notifynotify,void*userdata);intvar_unregister(void*mvar);intvar_update_int8(void*mvar,int8_tv);intvar_update_uint8(void*mvar,uint8_tv);intvar_update_int16(void*mvar,int16_tv);intvar_update_uint16(void*mvar,uint16_tv);intvar_update_int32(void*mvar,int32_tv);intvar_update_uint32(void*mvar,uint32_tv);intvar_update_int64(void*mvar,int64_tv);intvar_update_uint64(void*mvar,uint64_tv);intvar_update_float(void*mvar,floatv);intvar_update_double(void*mvar,doublev);intvar_update_str(void*mvar,constchar*v);(2)转码app中的转码进程各模块向mvfs注册监控指标变量,由mvfs通过fuse映射为虚拟文件;(3)转码app中的转码进程各模块在需要时更新mvfs监控指标变量;(4)用户依次通过浏览器、web服务器、代理服务器采集转码app中的转码进程的某个或某些监控指标,进本文档来自技高网...

【技术保护点】
1.一种基于用户态文件系统的监控方法,其特征是,具体包括如下步骤:/n(1)转码app中的转码进程在启动时初始化mvfs,mvfs通过fuse挂载虚拟文件系统;/n(2)转码app中的转码进程各模块向mvfs注册监控指标变量,由mvfs通过fuse映射为虚拟文件;/n(3)转码app中的转码进程各模块在需要时更新mvfs监控指标变量;/n(4)用户依次通过浏览器、web服务器、代理服务器采集转码app中的转码进程的某个或某些监控指标,进行跟踪监测。/n

【技术特征摘要】
1.一种基于用户态文件系统的监控方法,其特征是,具体包括如下步骤:
(1)转码app中的转码进程在启动时初始化mvfs,mvfs通过fuse挂载虚拟文件系统;
(2)转码app中的转码进程各模块向mvfs注册监控指标变量,由mvfs通过fuse映射为虚拟文件;
(3)转码app中的转码进程各模块在需要时更新mvfs监控指标变量;
(4)用户依次通过浏览器、web服务器、代理服务器采集转码app中的转码进程的某个或某些监控指标,进行跟踪监测。


2.根据权利要求1所述的一种基于用户态文件系统的监控方法,其特征是,fuse是一个用户空间中的文件系统,包含2个部分,分别为:内核中需要挂载的fuse内核模块和与用户态文件系统直接交互的用户空间接口模块;在加载fuse模块的过程中,要在内核中注册fuse文件系统,并生成fuse设备,fuse设备是内核里的fuse文件系统和用户态文件系统的通信媒介,用户态文件系统通过读取fuse设备的内容,获取内核中fuse文件系统发来的请求;而内核中的fuse文件系统,则把请求写入fuse设备,...

【专利技术属性】
技术研发人员:孙伟涛向海陈金荣
申请(专利权)人:杭州当虹科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1