CN112925754B - 文件描述符溢出上报方法、装置及计算机可读介质 - Google Patents

文件描述符溢出上报方法、装置及计算机可读介质 Download PDF

Info

Publication number
CN112925754B
CN112925754B CN202110346372.XA CN202110346372A CN112925754B CN 112925754 B CN112925754 B CN 112925754B CN 202110346372 A CN202110346372 A CN 202110346372A CN 112925754 B CN112925754 B CN 112925754B
Authority
CN
China
Prior art keywords
file
address
reporting
current
information
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
Application number
CN202110346372.XA
Other languages
English (en)
Other versions
CN112925754A (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.)
Sichuan Hongmei Intelligent Technology Co Ltd
Original Assignee
Sichuan Hongmei Intelligent 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 Sichuan Hongmei Intelligent Technology Co Ltd filed Critical Sichuan Hongmei Intelligent Technology Co Ltd
Priority to CN202110346372.XA priority Critical patent/CN112925754B/zh
Publication of CN112925754A publication Critical patent/CN112925754A/zh
Application granted granted Critical
Publication of CN112925754B publication Critical patent/CN112925754B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了文件描述符溢出上报方法、装置及计算机可读介质。通过预先在当前设备设置的扫描服务,周期性扫描所述当前设备的当前运行系统的文件列表,其中,所述文件列表中包括所述当前运行系统运行中的产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符;根据预设的扫描周期,确定所述文件记录中的已开启文件数量;当所述已开启文件的数量大于预设的阈值时,判断是否有预定数量的关联的文件记录对应同一文件名称的目标文件描述符;将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器。本发明的方案能够有效的保证程序的正常运行。

Description

文件描述符溢出上报方法、装置及计算机可读介质
技术领域
本发明涉及数据处理领域,特别涉及文件描述符溢出上报方法、装置及计算机可读介质。
背景技术
通常Linux系统或安卓系统能够同时打开的文件数量有一个上限值,若同时打开的文件超过该上限值,会导致系统的运行崩溃。
目前,为了防止系统在运行时崩溃,需要监控系统内同时打开文件的数量,一旦超过上限值及时进行上报。然而,一些软件释放文件描述符的次数较低,可能在较长的一段时间后才会发生溢出的现象,由于文件描述符数量一直未超过上限值而不会被被检测到,现有的方案也无法发现系统的文件描述符的溢出趋势,因此无法防止突如其来的程序崩溃,无法有效的保证系统的正常运行。
申请号CN201610167800.1的专利申请提供了一种DPI系统中数据并发上报的方法及装置,该方案能够提高了DPI的上报性能,实现数据高效并发上报,而且提升了大数据解析的性能,降低了服务器的负荷,但未涉及如何保证程序正常运行的方案。
发明内容
本发明实施例提供了文件描述符溢出上报方法、装置及计算机可读介质,能够有效的保证程序正常运行。
第一方面,本发明实施例提供了文件描述符溢出上报方法,包括:
通过预先在当前设备设置的扫描服务,周期性扫描所述当前设备的当前运行系统的文件列表,其中,所述文件列表中包括所述当前运行系统运行中的产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符;
根据预设的扫描周期,确定所述文件记录中的已开启文件数量;
当所述已开启文件的数量大于预设的阈值时,判断是否有预定数量的关联的文件记录对应同一文件名称的目标文件描述符;
将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器。
优选地,
当所述文件名称为套接字socket信息时,将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器,包括:
确定所述socket信息中包括的端口号;
将所述端口号转换为IP地址;
将所述IP地址和所述当前设备的设备信息上报至服务器。
优选地,
所述将所述端口号转换为IP地址,包括:
遍历该socket信息对应的开启文件的传输控制协议tcp目录或用户数据报协议udp目录,获得该已开启文件的端口号,所述端口号中包括通过16进制表示IP地址的in_addr结构体;
确定所述in_addr结构体中的16进制IP地址,将所述16进制IP地址转换为10进制,得到所述IP地址。
优选地,
所述设备信息,包括所述当前设备的序列号;
所述将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器,包括:
访问外部的销售数据库,其中,所述销售数据库中包括至少一台已销售设备的序列号与表征该设备销往地的地址信息;
根据所述当前设备的序列号,确定所述当前设备的销往地对应的目标地址信息;
将所述目标地址信息、所述当前设备的序列号和所述目标文件描述符所关联的文件记录对应的文件名称上报至所述服务器。
优选地,
当所述当前运行系统为Linux时,还包括:
收集当前运行系统的日志;
针对收集到的日志与预先根据日志建立的关键词类型的故障知识库、汉语语言模型n-gram类型的故障知识库进行扫描以识别故障;
所述收集当前运行系统的日志,包括:当前运行系统中指定的系统服务单元的日志,所述系统服务单元为Linux操作系统中路径及名称为/usr/lib/systemd/system、/run/systemd/system和/etc/systemd/system三个文件包含系统服务单元的一项或多项。
优选地,
所述关键词类型的故障知识库,包括:基于操作系统的日志构建的关键词类型故障知识条目,所述关键词类型故障知识条目包含多个表项,每个表项包括故障类型、故障关键词,故障帮助信息、故障修复方案、故障优先级、故障修复过程中是否需要重启中的一项或多项。
第二方面,本发明实施例体提供了基于上述第一方面中任一所述的文件描述符溢出上报方法的文件描述符溢出上报装置,包括:
扫描模块,用于通过预先在当前设备设置的扫描服务,周期性扫描所述当前设备的当前运行系统的文件列表,其中,所述文件列表中包括所述当前运行系统运行中的产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符;
确定模块,用于根据预设的扫描周期,确定所述文件记录中的已开启文件数量;
判断模块,用于当所述已开启文件的数量大于预设的阈值时,判断是否有预定数量的关联的文件记录对应同一文件名称的目标文件描述符;
上报模块,用于将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器。
优选地,
当所述文件名称为套接字socket信息时,所述上报模块,在执行将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器时,执行:
确定所述socket信息中包括的端口号;
将所述端口号转换为IP地址;
将所述IP地址和所述当前设备的设备信息上报至服务器;
所述将所述端口号转换为IP地址,包括:
遍历该socket信息对应的开启文件的传输控制协议tcp目录或用户数据报协议udp目录,获得该已开启文件的端口号,所述端口号中包括通过16进制表示IP地址的in_addr结构体;
确定所述in_addr结构体中的16进制IP地址,将所述16进制IP地址转换为10进制,得到所述IP地址;
优选地,
当所述设备信息,包括所述当前设备的序列号时,所述上报模块,用于:
访问外部的销售数据库,其中,所述销售数据库中包括至少一台已销售设备的序列号与表征该设备销往地的地址信息;
根据所述当前设备的序列号,确定所述当前设备的销往地对应的目标地址信息;
将所述目标地址信息、所述当前设备的序列号和所述目标文件描述符所关联的文件记录对应的文件名称上报至所述服务器。
第三方面,本发明实施例提供了文件描述符溢出上报装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述第一方面中任一所述的方法。
10、计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述第一方面中任一所述的方法。
本发明实施例提供了文件描述符溢出上报方法、装置及计算机可读介质。在需要执行文件描述符溢出上报的当前设备中预先设置扫描服务,根据预设的扫描周期扫描当前设备当前运行系统的文件列表,文件列表中包括所述当前运行系统运行中的产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符。根据预设的扫描周期,通过扫描服务确定文件记录中的已开启的文件数量,当已开启文件的数量大于预设的阈值时,则标识文件描述符有溢出的趋势,判断是否有判断是否有预定数量的关联的文件记录对应同一文件名称的目标文件描述符,则目标文件描述符发生了溢出,将目标文件描述符所关联的文件记录对应的文件名称和当前设备的设备信息上报至服务器,技术人员查看到上报的相关信息后,就知道系统出现了问题,再通过技术手段排查,防止系统崩溃。本发明提供的方案通过设置已开启文件数量的阈值,来周期性的确定已开启的文件数量是否超过阈值,判断是否有文件描述符溢出的趋势,找出关联目标文件描述符最多的文件,即打开次数最多,且每次都未被关闭的文件,将该文件的文件名称和设备信息上报至服务器,开发人员可以及时进行修复,从而能够保证系统的正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种文件描述符溢出上报方法的流程图;
图2是本发明一实施例提供的一种文件列表的示意图;
图3是本发明一实施例提供的一种文件描述符溢出上报装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如前所述,通常Linux系统或安卓系统能够同时打开的文件数量有一个上限值,若同时打开的文件超过该上限值,会导致系统的运行崩溃。目前,为了防止系统在运行时崩溃,需要监控系统内同时打开文件的数量,一旦超过上限值及时进行上报。然而,一些软件释放文件描述符的次数较低,可能在较长的一段时间后才会发生溢出的现象,由于文件描述符数量一直未超过上限值而不会被被检测到,现有的方案也无法发现系统的文件描述符的溢出趋势,因此无法防止突如其来的程序崩溃,无法有效的保证系统的正常运行。
下面结合附图对本发明各个实施例提供的文件描述符溢出上报方法、装置及计算机可读介质作详细说明。
如图1所示,本发明一实施例提供了文件描述符溢出上报方法,该方法包括以下步骤:
步骤101:通过预先在当前设备设置的扫描服务,周期性扫描所述当前设备的当前运行系统的文件列表,其中,所述文件列表中包括所述当前运行系统运行中的产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符;
步骤102:根据预设的扫描周期,确定所述文件记录中的已开启文件数量;
步骤103:当所述已开启文件的数量大于预设的阈值时,判断是否有预定数量的关联的文件记录对应同一文件名称的目标文件描述符;
步骤104:将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器。
在本发明实施例中,在需要执行文件描述符溢出上报的当前设备中预先设置扫描服务,根据预设的扫描周期扫描当前设备当前运行系统的文件列表,文件列表中包括所述当前运行系统运行中的产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符。根据预设的扫描周期,通过扫描服务确定文件记录中的已开启的文件数量,当已开启文件的数量大于预设的阈值时,则标识文件描述符有溢出的趋势,判断是否有判断是否有预定数量的关联的文件记录对应同一文件名称的目标文件描述符,则目标文件描述符发生了溢出,将目标文件描述符所关联的文件记录对应的文件名称和当前设备的设备信息上报至服务器,技术人员查看到上报的相关信息后,就知道系统出现了问题,再通过技术手段排查,防止系统崩溃。本发明提供的方案通过设置已开启文件数量的阈值,来周期性的确定已开启的文件数量是否超过阈值,判断是否有文件描述符溢出的趋势,找出关联目标文件描述符最多的文件,即打开次数最多,且每次都未被关闭的文件,将该文件的文件名称和设备信息上报至服务器,开发人员可以及时进行修复,从而能够保证系统的正常运行。
具体地,当前运行系统中的某个程序不断的访问一个网址,但未释放该文件描述符,如果该程序访问该网址的频率很低,可能半年或一年及更长时间才会溢出一次,导致程序退出。在某些应用中,程序退出会导致严重的问题。该例子中的问题很难被测试出来。通过本发明实施例提供的方案,能够提前发现问题,如发现该程序文件描述符有溢出趋势,则上报到服务器,开发人员可以及时修复。
在本发明一实施例中,当所述文件名称为套接字socket信息时,将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器,包括:
确定所述socket信息中包括的端口号;
将所述端口号转换为IP地址;
将所述IP地址和所述当前设备的设备信息上报至服务器。
在本发明实施例中,若非socket存在溢出,则直接将文件名称和设备信息上报至服务器即可,因为非socket的文件名称能够直观的体现该文件记录对应的文件名称,但socket比较特殊,需要将socket中包括的端口号转换为IP地址后再进行上报。
在本发明实施例中,所述将所述端口号转换为IP地址,包括:
遍历该socket信息对应的开启文件的传输控制协议tcp目录或用户数据报协议udp目录,获得该已开启文件的端口号,所述端口号中包括通过16进制表示IP地址的in_addr结构体;
确定所述in_addr结构体中的16进制IP地址,将所述16进制IP地址转换为10进制,得到所述IP地址。
举例来说,当系统启动时,设置根据预设间隔进行扫描的扫描服务,比如每10秒扫描一次目录/proc/(当前应用程序进程号)/fd,如果该目录下的已开启文件数量大于阀值,如300个,则文件描述符有溢出趋势。
若文件描述符有溢出趋势,则找出关联文件描述符最多的文件或socket,方法如下:
一种文件列表的示意图如图2所示,根据图2可知,socket:[251044]关联了45到48共4个目标文件描述符,其他文件都只关联了一个文件描述符,则该socket可能存在泄露。
通过socket端口号查找对应IP地址的方法:通过在以下文件中查找,直到找到为止,/proc/net/tcp或/proc/net/udp或/proc/当前应用程序进程号/net/tcp或/proc/当前应用程序进程号/net/udp。找到后的数据类似以下格式:
434:6600A8C0:8148 7258B276:1F9A 08 00000000:00000001 00:0000000000000000 1000 0 58044 1 0000000000000000 28 3 30 10-1
其中7258B276:1F9A为16进制的远程IP地址和端口,转换为10进制后,为118.178.88.114:8090,将该IP地址和当前设备的序列号上报到服务器即可。
在本发明实施例中,还可以系统发生故障时进行故障的识别。具体地,当当前运行系统未Linux时,收集当前运行系统的日志;
针对收集到的日志与预先根据日志建立的关键词类型的故障知识库、汉语语言模型n-gram类型的故障知识库进行扫描以识别故障;
所述收集当前运行系统的日志,包括:当前运行系统中指定的系统服务单元的日志,所述系统服务单元为Linux操作系统中路径及名称为/usr/lib/systemd/system、/run/systemd/system和/etc/systemd/system三个文件包含系统服务单元的一项或多项。
在本发明实施例中,所述关键词类型的故障知识库,包括:基于操作系统的日志构建的关键词类型故障知识条目,所述关键词类型故障知识条目包含多个表项,每个表项包括故障类型、故障关键词,故障帮助信息、故障修复方案、故障优先级、故障修复过程中是否需要重启中的一项或多项。
综上所述,本发明各个实施例提供的方案中,监测系统中被打开次数最多且没被关闭的文件,该文件随着时间的推移,会造成系统崩溃。通过提前发现该文件并上报到服务器,技术人员收到该信息后,就知道系统出了问题,再通过技术手段排查,防止系统崩溃。
具体地,定时监测系统中目前未被关闭的文件描述符数量(文件被打开一次,就会产生一个不同的文件描述符,文件关闭了,所有与该文件相关的文件描述符都会回收),当数量达到一个阀值后,找出那个关联文件描述符最多的文件(即被打开次数最多,且未关闭的文件),上报到服务器。如果文件描述符对应的是一个socket,则指的是某个网址被打开次数最多且未关闭(网址打开一次也会产生一个不同的文件描述符),则通过分析/proc/net/tcp或/proc/net/udp或/proc/当前应用程序进程号/net/tcp或/proc/当前应用程序进程号/net/udp,计算出socket对应的IP地址,和设备的序列号一起上报的服务器。然后邮件自动通知售后人员。该邮件里内容包含了某台设备的序列号,所在地址,出问题的原因等信息。
如图3所示,本发明一实施例提供了上述图1中任一所述的文件描述符溢出上报方法的文件描述符溢出上报装置,包括:
扫描模块301,用于通过预先在当前设备设置的扫描服务,周期性扫描所述当前设备的当前运行系统的文件列表,其中,所述文件列表中包括所述当前运行系统运行中的产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符;
确定模块302,用于根据预设的扫描周期,确定所述文件记录中的已开启文件数量;
判断模块303,用于当所述已开启文件的数量大于预设的阈值时,判断是否有预定数量的关联的文件记录对应同一文件名称的目标文件描述符;
上报模块304,用于将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器。
在本发明一实施例中,当所述文件名称为套接字socket信息时,所述上报模块304,在执行将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器时,执行:
确定所述socket信息中包括的端口号;
将所述端口号转换为IP地址;
将所述IP地址和所述当前设备的设备信息上报至服务器;
所述将所述端口号转换为IP地址,包括:
遍历该socket信息对应的开启文件的传输控制协议tcp目录或用户数据报协议udp目录,获得该已开启文件的端口号,所述端口号中包括通过16进制表示IP地址的in_addr结构体;
确定所述in_addr结构体中的16进制IP地址,将所述16进制IP地址转换为10进制,得到所述IP地址;
在本发明一实施例中,当所述设备信息,包括所述当前设备的序列号时,所述上报模块304,用于:
访问外部的销售数据库,其中,所述销售数据库中包括至少一台已销售设备的序列号与表征该设备销往地的地址信息;
根据所述当前设备的序列号,确定所述当前设备的销往地对应的目标地址信息;
将所述目标地址信息、所述当前设备的序列号和所述目标文件描述符所关联的文件记录对应的文件名称上报至所述服务器。
可以理解的是,本发明实施例示意的结构并不构成对文件描述符溢出上报装置的具体限定。在本发明的另一些实施例中,文件描述符溢出上报装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明还提供了一种计算机可读介质,存储用于使一计算机执行如本文所述的文件描述符溢出上报方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基于上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

Claims (10)

1.文件描述符溢出上报方法,其特征在于,包括:
通过预先在当前设备设置的扫描服务,周期性扫描所述当前设备的当前运行系统的文件列表,其中,所述文件列表中包括所述当前运行系统在运行中产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符;
根据预设的扫描周期,确定所述文件记录对应的已开启文件的数量;
当所述已开启文件的数量大于预设的阈值时,判断是否有预定数量的目标文件描述符;所述预定数量的目标文件描述符所关联的各文件记录均对应同一文件名称;
如果是,将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器。
2.根据权利要求1所述的方法,其特征在于,
当所述文件名称为套接字socket信息时,将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器,包括:
确定所述socket信息中包括的端口号;
将所述端口号转换为IP地址;
将所述IP地址和所述当前设备的设备信息上报至服务器。
3.根据权利要求2所述的方法,其特征在于,
所述将所述端口号转换为IP地址,包括:
遍历该socket信息对应的开启文件的传输控制协议tcp目录或用户数据报协议udp目录,获得该已开启文件的端口号,所述端口号中包括通过16进制表示IP地址的in_addr结构体;
确定所述in_addr结构体中的16进制IP地址,将所述16进制IP地址转换为10进制,得到所述IP地址。
4.根据权利要求1所述的方法,其特征在于,
所述设备信息,包括所述当前设备的序列号;
所述将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器,包括:
访问外部的销售数据库,其中,所述销售数据库中包括至少一台已销售设备的序列号与表征该设备销往地的地址信息;
根据所述当前设备的序列号,确定所述当前设备的销往地对应的目标地址信息;
将所述目标地址信息、所述当前设备的序列号和所述目标文件描述符所关联的文件记录对应的文件名称上报至所述服务器。
5.根据权利要求1所述的方法,其特征在于,
当所述当前运行系统为Linux时,进一步包括:
收集当前运行系统的日志;
针对收集到的日志与预先根据日志建立的关键词类型的故障知识库、汉语语言模型n-gram类型的故障知识库进行扫描以识别故障;
所述收集当前运行系统的日志,包括:当前运行系统中指定的系统服务单元的日志,所述系统服务单元为Linux操作系统中路径及名称为/usr/lib/systemd/system、/run/systemd/system和/etc/systemd/system三个文件包含系统服务单元的一项或多项。
6.根据权利要求5所述的方法,其特征在于,
所述关键词类型的故障知识库,包括:基于操作系统的日志构建的关键词类型故障知识条目,所述关键词类型故障知识条目包含多个表项,每个表项包括故障类型、故障关键词,故障帮助信息、故障修复方案、故障优先级、故障修复过程中是否需要重启中的一项或多项。
7.基于权利要求1至6中任一所述的文件描述符溢出上报方法的文件描述符溢出上报装置,其特征在于,包括:
扫描模块,用于通过预先在当前设备设置的扫描服务,周期性扫描所述当前设备的当前运行系统的文件列表,其中,所述文件列表中包括所述当前运行系统在运行中产生的至少一条文件记录,每条所述文件记录对应一已开启文件的文件名称且每条所述文件记录关联一个文件描述符;
确定模块,用于根据预设的扫描周期,确定所述文件记录对应的已开启文件的数量;
判断模块,用于当所述已开启文件的数量大于预设的阈值时,判断是否有预定数量的目标文件描述符;所述预定数量的目标文件描述符所关联的各文件记录均对应同一文件名称;
上报模块,用于在有预定数量的目标文件描述符时,将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器。
8.根据权利要求7所述的装置,其特征在于,
当所述文件名称为套接字socket信息时,所述上报模块,在执行将所述目标文件描述符所关联的文件记录对应的文件名称和所述当前设备的设备信息上报至服务器时,执行:
确定所述socket信息中包括的端口号;
将所述端口号转换为IP地址;
将所述IP地址和所述当前设备的设备信息上报至服务器;
所述将所述端口号转换为IP地址,包括:
遍历该socket信息对应的开启文件的传输控制协议tcp目录或用户数据报协议udp目录,获得该已开启文件的端口号,所述端口号中包括通过16进制表示IP地址的in_addr结构体;
确定所述in_addr结构体中的16进制IP地址,将所述16进制IP地址转换为10进制,得到所述IP地址;
和/或,
当所述设备信息,包括所述当前设备的序列号时,所述上报模块,用于:
访问外部的销售数据库,其中,所述销售数据库中包括至少一台已销售设备的序列号与表征该设备销往地的地址信息;
根据所述当前设备的序列号,确定所述当前设备的销往地对应的目标地址信息;
将所述目标地址信息、所述当前设备的序列号和所述目标文件描述符所关联的文件记录对应的文件名称上报至所述服务器。
9.文件描述符溢出上报装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至6中任一所述的方法。
10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至6中任一所述的方法。
CN202110346372.XA 2021-03-31 2021-03-31 文件描述符溢出上报方法、装置及计算机可读介质 Active CN112925754B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110346372.XA CN112925754B (zh) 2021-03-31 2021-03-31 文件描述符溢出上报方法、装置及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110346372.XA CN112925754B (zh) 2021-03-31 2021-03-31 文件描述符溢出上报方法、装置及计算机可读介质

Publications (2)

Publication Number Publication Date
CN112925754A CN112925754A (zh) 2021-06-08
CN112925754B true CN112925754B (zh) 2023-04-07

Family

ID=76176726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110346372.XA Active CN112925754B (zh) 2021-03-31 2021-03-31 文件描述符溢出上报方法、装置及计算机可读介质

Country Status (1)

Country Link
CN (1) CN112925754B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527978A (zh) * 2001-03-30 2004-09-08 ������������ʽ���� 文件管理方法
CN107423213A (zh) * 2017-04-11 2017-12-01 腾讯科技(深圳)有限公司 一种文件描述符分配检测方法和装置
CN107608852A (zh) * 2017-09-01 2018-01-19 清华大学 一种进程监控方法及装置
CN108628740A (zh) * 2018-04-10 2018-10-09 杭州迪普科技股份有限公司 一种文件描述符泄露检测方法及装置
CN109947732A (zh) * 2019-03-21 2019-06-28 昆山九华电子设备厂 一种集群文件系统优化对文件描述符使用效率的方法
CN111400125A (zh) * 2020-02-13 2020-07-10 中国平安人寿保险股份有限公司 Java进程的内存溢出监控方法、装置、设备及存储介质
CN111723244A (zh) * 2020-06-29 2020-09-29 深圳壹账通智能科技有限公司 一种数据处理方法、数据处理装置及终端
CN111897666A (zh) * 2020-08-05 2020-11-06 北京图森未来科技有限公司 用于多进程之间通信的方法、设备及系统
CN112346927A (zh) * 2020-10-22 2021-02-09 北京罗克维尔斯科技有限公司 一种文件描述符的检测方法、装置、车载设备及车辆

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3063361B1 (fr) * 2017-02-24 2019-04-19 Moore Procede, equipement et systeme de gestion du systeme de fichiers

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527978A (zh) * 2001-03-30 2004-09-08 ������������ʽ���� 文件管理方法
CN107423213A (zh) * 2017-04-11 2017-12-01 腾讯科技(深圳)有限公司 一种文件描述符分配检测方法和装置
CN107608852A (zh) * 2017-09-01 2018-01-19 清华大学 一种进程监控方法及装置
CN108628740A (zh) * 2018-04-10 2018-10-09 杭州迪普科技股份有限公司 一种文件描述符泄露检测方法及装置
CN109947732A (zh) * 2019-03-21 2019-06-28 昆山九华电子设备厂 一种集群文件系统优化对文件描述符使用效率的方法
CN111400125A (zh) * 2020-02-13 2020-07-10 中国平安人寿保险股份有限公司 Java进程的内存溢出监控方法、装置、设备及存储介质
CN111723244A (zh) * 2020-06-29 2020-09-29 深圳壹账通智能科技有限公司 一种数据处理方法、数据处理装置及终端
CN111897666A (zh) * 2020-08-05 2020-11-06 北京图森未来科技有限公司 用于多进程之间通信的方法、设备及系统
CN112346927A (zh) * 2020-10-22 2021-02-09 北京罗克维尔斯科技有限公司 一种文件描述符的检测方法、装置、车载设备及车辆

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
The file descriptor: Use of a descriptive tool to retrieve general queries to files;Adolfo Guzmán;《SIGDOC "84: Proceedings of the 3rd annual international conference on Systems》;19840531;1-10 *
嵌入式系统安全中缓冲区溢出防止技术的研究与实现;杨朝龙 等;《微计算机信息》;20050910;第 21 卷(第 12-2 期);9-11 *

Also Published As

Publication number Publication date
CN112925754A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN110716910B (zh) 一种日志管理方法、装置、设备和存储介质
US8626786B2 (en) Dynamic language checking
US7913233B2 (en) Performance analyzer
CN112925754B (zh) 文件描述符溢出上报方法、装置及计算机可读介质
CN108959646B (zh) 自动验证通信号码的方法、系统、设备及存储介质
CN111966630A (zh) 文件类型的检测方法、装置、设备和介质
JPH08314763A (ja) ログ情報解析装置
CN113672233B (zh) 一种基于Redfish的服务器带外管理方法、装置及设备
CN115878914A (zh) 一种域名匹配方法、装置、设备及存储介质
CN115186001A (zh) 一种补丁处理方法和装置
CN114444087A (zh) 一种越权漏洞检测方法、装置、电子设备及存储介质
CN112187708B (zh) 数字证书的证书链的自动补全方法及设备
CN114765599A (zh) 子域名采集方法、装置
CN111953544B (zh) 一种服务器的故障检测方法、装置、设备及存储介质
CN110287039A (zh) 模拟接口配置方法、介质、装置和计算设备
CN111258997B (zh) 基于NiFi的数据处理方法和装置
CN113051329B (zh) 基于接口的数据采集方法、装置、设备及存储介质
US20230236920A1 (en) Method and system for providing solutions to a hardware component failure using a context-aware search
CN117171800B (zh) 一种基于零信任防护体系的敏感数据识别方法及装置
CN113867998B (zh) 一种收集认证测试中故障瞬时日志的方法及系统
CN117370052B (zh) 微服务故障分析方法、装置、设备及存储介质
CN118468265A (zh) 应用版本检测方法和装置
CN111597203A (zh) 语句查询方法、装置、设备、介质
CN115185784A (zh) 一种异常日志收集方法、装置、设备、存储介质
WO2023141060A1 (en) Method and system for identifying root cause of a hardware component failure

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