[发明专利]业务模块定位方法及装置有效
申请号: | 201910769007.2 | 申请日: | 2019-08-20 |
公开(公告)号: | CN110532121B | 公开(公告)日: | 2022-08-26 |
发明(设计)人: | 王洋 | 申请(专利权)人: | 新华三大数据技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/34 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 高萍 |
地址: | 450000 河南省郑州市高新技*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务 模块 定位 方法 装置 | ||
本发明提供一种业务模块定位方法及装置,应用于网络设备运行的业务进程。业务进程接收第一业务模块发送的第一操作指令,所述第一操作指令用于对已打开或已创建的第一文件执行常规操作,所述第一操作指令包括所述第一文件的第一文件描述符;从已记录的文件描述符与操作集合的对应关系中,查找与所述第一文件描述符对应的第一操作集合;若所述第一操作集合不包括所述第一业务模块对所述第一文件待执行的常规操作,则确定所述第一业务模块错误使用所述第一文件描述符。本发明可在业务模块错误使用文件描述符时,立即定位到该业务模块,从而仅排查该业务模块的代码,定位效率较高。
技术领域
本发明涉及网络通信技术领域,尤其涉及一种业务模块定位方法及装置。
背景技术
在Linux操作系统中,内核利用文件描述符(File Descriptor,缩写:FD)访问文件。文件描述符是一个非负整数。当业务进程中的业务模块打开文件时,内核会返回一个文件描述符。业务模块基于文件描述符操作文件,比如,读文件、写文件、关闭文件等。当业务模块关闭文件时,内核会回收文件描述符。
同一业务进程可包含多个业务模块。任一业务模块均可基于文件描述符操作文件。当多个业务模块操作同一文件时,可能会因冲突导致网络设备无法正常运行。比如,模块A正在使用FD100所标识的文件,此时,模块B基于FD100关闭该文件,则会影响模块A使用文件。为此,需要定位错误使用文件描述符的业务模块。
现有定位方式主要通过系统提供的backtrace(回溯)函数,记录哪些业务模块操作过文件。从而在设备异常时,逐一排查记录的各业务模块,找到错误使用文件描述符的业务模块。对各业务模块逐一排查的工作量很大,因此,定位效率不高,无法快速定位错误使用文件描述符的业务模块。
发明内容
有鉴于此,本发明为了解决现有无法快速定位错误使用文件描述符的业务模块的问题,提出一种业务模块定位方法及装置,用以快速定位到错误使用文件描述符的业务模块。
为实现上述发明目的,本发明提供了如下技术方案:
第一方面,本发明提供一种业务模块定位方法,应用于网络设备运行的业务进程,所述业务进程包括多个业务模块,所述业务模块通过文件描述符对文件执行常规操作,所述方法包括:
接收第一业务模块发送的第一操作指令,所述第一操作指令用于对已打开或已创建的第一文件执行常规操作,所述第一操作指令包括所述第一文件的第一文件描述符;
从已记录的文件描述符与操作集合的对应关系中,查找与所述第一文件描述符对应的第一操作集合;
若所述第一操作集合不包括所述第一业务模块对所述第一文件待执行的常规操作,则确定所述第一业务模块错误使用所述第一文件描述符。
可选的,所述接收第一业务模块发送的第一操作指令之前,所述方法还包括:
接收第二业务模块发送的第二操作指令,所述第二操作指令用于打开或创建所述第一文件,所述第二操作指令包括所述第一文件描述符、所述第二业务模块的第二模块标识以及所述第一操作集合;
记录所述第一文件描述符、所述第二模块标识以及所述第一操作集合之间的对应关系。
可选的,所述第一操作指令还包括所述第一业务模块的第一模块标识;
所述从已记录的文件描述符与操作集合的对应关系中,查找与所述第一文件描述符对应的第一操作集合,包括:
从已记录的文件描述符、模块标识以及操作集合之间的对应关系中,查找与所述第一文件描述符对应的第二模块标识以及第一操作集合;
所述若所述第一操作集合不包括所述第一业务模块对所述第一文件待执行的常规操作,确定所述第一业务模块错误使用所述第一文件描述符,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三大数据技术有限公司,未经新华三大数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910769007.2/2.html,转载请声明来源钻瓜专利网。