CN111078508A - 一种基于用户态文件系统的监控方法 - Google Patents

一种基于用户态文件系统的监控方法 Download PDF

Info

Publication number
CN111078508A
CN111078508A CN201911412509.6A CN201911412509A CN111078508A CN 111078508 A CN111078508 A CN 111078508A CN 201911412509 A CN201911412509 A CN 201911412509A CN 111078508 A CN111078508 A CN 111078508A
Authority
CN
China
Prior art keywords
transcoding
file system
fuse
monitoring
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.)
Granted
Application number
CN201911412509.6A
Other languages
English (en)
Other versions
CN111078508B (zh
Inventor
孙伟涛
向海
陈金荣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Arcvideo Technology Co ltd
Original Assignee
Hangzhou Arcvideo Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Arcvideo Technology Co ltd filed Critical Hangzhou Arcvideo Technology Co ltd
Priority to CN201911412509.6A priority Critical patent/CN111078508B/zh
Publication of CN111078508A publication Critical patent/CN111078508A/zh
Application granted granted Critical
Publication of CN111078508B publication Critical patent/CN111078508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring 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和监控指标列表。
CN201911412509.6A 2019-12-31 2019-12-31 一种基于用户态文件系统的监控方法 Active CN111078508B (zh)

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 true CN111078508A (zh) 2020-04-28
CN111078508B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407504A (zh) * 2021-06-15 2021-09-17 中科曙光国际信息产业有限公司 一种数据处理方法、用户空间文件系统以及存储介质
CN114003470A (zh) * 2021-12-30 2022-02-01 北京中科网威信息技术有限公司 用户态进程异常的处理方法、装置、设备、及介质
CN114168203A (zh) * 2020-09-10 2022-03-11 成都鼎桥通信技术有限公司 双系统运行状态控制方法、装置和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
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的监控用户态进程内存状态方法及系统
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
CN107026767A (zh) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 业务协议指标数据收集方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169447A (zh) * 2010-02-25 2011-08-31 中兴通讯股份有限公司 一种自定义外壳程序的注册、注销方法及相应的系统
CN104008330A (zh) * 2014-05-23 2014-08-27 武汉华工安鼎信息技术有限责任公司 基于文件集中存储及隔离技术的数据防泄漏系统及其方法
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
CN105760275A (zh) * 2016-02-22 2016-07-13 汉柏科技有限公司 一种基于Linux的监控用户态进程内存状态方法及系统
CN107026767A (zh) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 业务协议指标数据收集方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
裴鹏真: "《一种Linux 下基于Upnp 和FUSE 的虚拟网络用户文件系统的构建与研究》", 《软件》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168203A (zh) * 2020-09-10 2022-03-11 成都鼎桥通信技术有限公司 双系统运行状态控制方法、装置和电子设备
CN114168203B (zh) * 2020-09-10 2024-02-13 成都鼎桥通信技术有限公司 双系统运行状态控制方法、装置和电子设备
CN113407504A (zh) * 2021-06-15 2021-09-17 中科曙光国际信息产业有限公司 一种数据处理方法、用户空间文件系统以及存储介质
CN113407504B (zh) * 2021-06-15 2023-05-23 中科曙光国际信息产业有限公司 一种数据处理方法、用户空间文件系统以及存储介质
CN114003470A (zh) * 2021-12-30 2022-02-01 北京中科网威信息技术有限公司 用户态进程异常的处理方法、装置、设备、及介质

Also Published As

Publication number Publication date
CN111078508B (zh) 2022-07-26

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
US10048996B1 (en) Predicting infrastructure failures in a data center for hosted service mitigation actions
US9038094B2 (en) Automated service interface optimization
CN103544095B (zh) 服务器程序的监控方法及其系统
CN108768728A (zh) 运维任务处理方法、装置、计算机设备和存储介质
CN101896889B (zh) 无线终端、无线终端的非易失存储器、诊断信息的可靠性保存方法
CN103761309A (zh) 一种运营数据处理方法及系统
CN112035191A (zh) 基于微服务的apm全链路监控系统及方法
CN112988485A (zh) 电力物联网设备模拟测试方法及装置
CN109039787A (zh) 日志处理方法、装置及大数据集群
CN107070752B (zh) 一种长连接容量的测试方法及测试系统
CN113076253A (zh) 一种测试方法和测试装置
CN111949484A (zh) 信息处理方法、装置、电子设备和介质
CN113297148B (zh) 业务日志数据的采集方法、装置、设备及可读存储介质
CN115391286A (zh) 一种链路追踪数据管理方法、装置、设备及存储介质
JP2009042995A (ja) 分散情報流通制御方法及び分散システムとそのサーバ並びにプログラム
CN116136817A (zh) 基于云服务的信息处理方法、装置、电子设备及存储介质
da Silva Middleware support for energy awareness in the Internet of Things (IoT)
CN112988208B (zh) 数据更新方法、装置、设备及存储介质
CN113433897B (zh) 产品调试方法、服务工控机及协同服务器
Zhang et al. Research on Fault Self Diagnosis Technology of Agricultural Internet of Things Information Collection System
CN117201344A (zh) 一种分布式设备看门狗监测装置、方法、系统与存储介质
CN117170963A (zh) 一种基于pinpoint的故障监控方法、系统、设备及介质
WO2023169097A1 (zh) 5g消息终端的识别方法、服务平台和存储介质

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