CN111078508B - 一种基于用户态文件系统的监控方法 - Google Patents
一种基于用户态文件系统的监控方法 Download PDFInfo
- Publication number
- CN111078508B CN111078508B CN201911412509.6A CN201911412509A CN111078508B CN 111078508 B CN111078508 B CN 111078508B CN 201911412509 A CN201911412509 A CN 201911412509A CN 111078508 B CN111078508 B CN 111078508B
- Authority
- CN
- China
- Prior art keywords
- transcoding
- file system
- monitoring
- fuse
- mvfs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于用户态文件系统的监控方法。它具体包括如下步骤:(1)转码app中的转码进程在启动时初始化mvfs,mvfs通过fuse挂载虚拟文件系统;(2)转码app中的转码进程各模块向mvfs注册监控指标变量,由mvfs通过fuse映射为虚拟文件;(3)转码app中的转码进程各模块在需要时更新mvfs监控指标变量;(4)用户依次通过浏览器、web服务器、代理服务器采集转码app中的转码进程的某个或某些监控指标,进行跟踪监测。本发明的有益效果是:实时监控转码进程的运行状态,或者在异常时现场快速精确定位问题,变量仍存在转码进程空间内,注册以及更新指标变量并没有内核上下文切换,效率高。
Description
技术领域
本发明涉及音视频转码处理相关技术领域,尤其是指一种基于用户态文件系统的监控方法。
背景技术
在线编转码系统设备需要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接口设计:
enum MVFS_PERMISSION{MVFS_PERMISSION_READ,MVFS_PERMISSION_WRITE};
enum MVFS_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(const char*path,int vtype,int permission,MVFS_Notify notify,void*userdata);
int var_unregister(void*mvar);
int var_update_int8(void*mvar,int8_t v);
int var_update_uint8(void*mvar,uint8_t v);
int var_update_int16(void*mvar,int16_t v);
int var_update_uint16(void*mvar,uint16_t v);
int var_update_int32(void*mvar,int32_t v);
int var_update_uint32(void*mvar,uint32_t v);
int var_update_int64(void*mvar,int64_t v);
int var_update_uint64(void*mvar,uint64_t v);
int var_update_float(void*mvar,float v);
int var_update_double(void*mvar,double v);
int var_update_str(void*mvar,const char*v);
(2)转码app中的转码进程各模块向mvfs注册监控指标变量,由mvfs通过fuse映射为虚拟文件;
(3)转码app中的转码进程各模块在需要时更新mvfs监控指标变量;
(4)用户依次通过浏览器、web服务器、代理服务器采集转码app中的转码进程的某个或某些监控指标,进行跟踪监测;具体操作方法为:
(41)用户通过浏览器发送监控请求;监控请求包含转码任务ID和监控指标列表;
(42)web服务器收到监控请求后建立session,返回给浏览器;
(43)浏览器启动websocket连接web服务器,开始接收数据;
(44)Web服务器向代理服务器发送请求;请求包含转码任务ID和监控指标列表;
(45)代理服务器收到请求后查询是否有转码任务进程存在,如果存在返回成功;如果失败返回错误信息给浏览器;
(46)代理服务器启动采集线程,定时把采集到的数据发送给web服务器;
(47)web服务器收到数据后通过websocket发送给浏览器,浏览器显示采集到的数据。
为了实时监控转码进程的运行状态,或者在异常时现场快速精确定位问题,需要在异常时能够看到转码进程内部模块运行状态。本方法设计了一套在不影响编转码app运行的情况下实时观察内部逻辑的机制,采用用户态文件系统FUSE框架实现转码进程各模块指标和文件的一一映射来实现,变量仍存在转码进程空间内,注册以及更新指标变量并没有内核上下文切换,效率高,几乎不耗性能。
Claims (5)
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设备,等待用户态文件系统处理。
3.根据权利要求1所述的一种基于用户态文件系统的监控方法,其特征是,在步骤(4)中,具体操作方法为:
(41)用户通过浏览器发送监控请求;
(42)web服务器收到监控请求后建立session,返回给浏览器;
(43)浏览器启动websocket连接web服务器,开始接收数据;
(44)Web服务器向代理服务器发送请求;
(45)代理服务器收到请求后查询是否有转码任务进程存在,如果存在返回成功;如果失败返回错误信息给浏览器;
(46)代理服务器启动采集线程,定时把采集到的数据发送给web服务器;
(47)web服务器收到数据后通过websocket发送给浏览器,浏览器显示采集到的数据。
4.根据权利要求2所述的一种基于用户态文件系统的监控方法,其特征是,在步骤(41)中,监控请求包含转码任务ID和监控指标列表。
5.根据权利要求3所述的一种基于用户态文件系统的监控方法,其特征是,在步骤(44)中,请求包含转码任务ID和监控指标列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911412509.6A CN111078508B (zh) | 2019-12-31 | 2019-12-31 | 一种基于用户态文件系统的监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911412509.6A CN111078508B (zh) | 2019-12-31 | 2019-12-31 | 一种基于用户态文件系统的监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078508A CN111078508A (zh) | 2020-04-28 |
CN111078508B true CN111078508B (zh) | 2022-07-26 |
Family
ID=70320579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911412509.6A Active CN111078508B (zh) | 2019-12-31 | 2019-12-31 | 一种基于用户态文件系统的监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078508B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168203B (zh) * | 2020-09-10 | 2024-02-13 | 成都鼎桥通信技术有限公司 | 双系统运行状态控制方法、装置和电子设备 |
CN113407504B (zh) * | 2021-06-15 | 2023-05-23 | 中科曙光国际信息产业有限公司 | 一种数据处理方法、用户空间文件系统以及存储介质 |
CN114003470B (zh) * | 2021-12-30 | 2022-04-08 | 北京中科网威信息技术有限公司 | 用户态进程异常的处理方法、装置、设备、及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169447A (zh) * | 2010-02-25 | 2011-08-31 | 中兴通讯股份有限公司 | 一种自定义外壳程序的注册、注销方法及相应的系统 |
CN104008330A (zh) * | 2014-05-23 | 2014-08-27 | 武汉华工安鼎信息技术有限责任公司 | 基于文件集中存储及隔离技术的数据防泄漏系统及其方法 |
CN105760275A (zh) * | 2016-02-22 | 2016-07-13 | 汉柏科技有限公司 | 一种基于Linux的监控用户态进程内存状态方法及系统 |
CN107026767A (zh) * | 2017-03-30 | 2017-08-08 | 上海七牛信息技术有限公司 | 业务协议指标数据收集方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170060893A1 (en) * | 2015-08-25 | 2017-03-02 | Xcube Research And Development, Inc. | Translating file type aware virtual filesystem and content addressable globally distributed filesystem |
-
2019
- 2019-12-31 CN CN201911412509.6A patent/CN111078508B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169447A (zh) * | 2010-02-25 | 2011-08-31 | 中兴通讯股份有限公司 | 一种自定义外壳程序的注册、注销方法及相应的系统 |
CN104008330A (zh) * | 2014-05-23 | 2014-08-27 | 武汉华工安鼎信息技术有限责任公司 | 基于文件集中存储及隔离技术的数据防泄漏系统及其方法 |
CN105760275A (zh) * | 2016-02-22 | 2016-07-13 | 汉柏科技有限公司 | 一种基于Linux的监控用户态进程内存状态方法及系统 |
CN107026767A (zh) * | 2017-03-30 | 2017-08-08 | 上海七牛信息技术有限公司 | 业务协议指标数据收集方法及系统 |
Non-Patent Citations (1)
Title |
---|
《一种Linux 下基于Upnp 和FUSE 的虚拟网络用户文件系统的构建与研究》;裴鹏真;《软件》;20141231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111078508A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078508B (zh) | 一种基于用户态文件系统的监控方法 | |
US10623262B2 (en) | Methods and systems to adjust a monitoring tool and auxiliary servers of a distributed computing system | |
CN112035191A (zh) | 基于微服务的apm全链路监控系统及方法 | |
CN112988485A (zh) | 电力物联网设备模拟测试方法及装置 | |
CN107070752B (zh) | 一种长连接容量的测试方法及测试系统 | |
CN113010565A (zh) | 基于服务器集群的服务器实时数据处理方法及系统 | |
CN111522703A (zh) | 监控访问请求的方法、设备和计算机程序产品 | |
CN113900941A (zh) | 一种微服务处理方法、微服务系统及电子设备和存储介质 | |
CN113076253A (zh) | 一种测试方法和测试装置 | |
CN111949484A (zh) | 信息处理方法、装置、电子设备和介质 | |
Church et al. | Moving SCADA systems to IaaS clouds | |
CN115776451A (zh) | 信息采集方法、装置、电子设备及存储介质 | |
CN103368790B (zh) | 一种针对电子交易系统的性能延迟监测方法及其系统 | |
CN113297148B (zh) | 业务日志数据的采集方法、装置、设备及可读存储介质 | |
US20180262589A1 (en) | Control system with persistent and transient data stores for registration, production and status data for networked devices | |
CN112764995B (zh) | 一种服务器硬件资源监控方法、装置和介质 | |
CN115391286A (zh) | 一种链路追踪数据管理方法、装置、设备及存储介质 | |
JP2009042995A (ja) | 分散情報流通制御方法及び分散システムとそのサーバ並びにプログラム | |
CN114416420A (zh) | 设备问题反馈方法和系统 | |
CN116136817A (zh) | 基于云服务的信息处理方法、装置、电子设备及存储介质 | |
Wang et al. | Design of satellite ground management system based on microservices | |
CN112988208B (zh) | 数据更新方法、装置、设备及存储介质 | |
da Silva | Middleware support for energy awareness in the Internet of Things (IoT) | |
CN112905454B (zh) | 一种mqtt服务测试系统和方法 | |
CN117170963A (zh) | 一种基于pinpoint的故障监控方法、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |