共享文件访问问题定位方法、装置、设备及可读存储介质转让专利

申请号 : CN202010850392.6

文献号 : CN112019383B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 侯胜伟

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明公开了一种共享文件访问问题定位方法,该方法包括以下步骤:对接收到的共享文件访问请求进行解析,得到各目标请求命令字;对各目标请求命令字进行统计操作,得到命令字接收个数;根据各目标请求命令字生成各目标响应命令字;对各目标响应命令字进行统计操作,得到命令字响应个数;根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。应用本发明实施例所提供的技术方案,简化了对命令字为回应类共享文件访问问题定位流程,提高了共享文件访问问题定位效率。本发明还公开了一种共享文件访问问题定位装置、设备及存储介质,具有相应技术效果。

权利要求 :

1.一种共享文件访问问题定位方法,其特征在于,包括:对接收到的共享文件访问请求进行解析,得到各目标请求命令字;

从预置数组中分别查找各所述目标请求命令字分别对应的目标结构体;

利用各所述目标结构体对各所述目标请求命令字进行统计操作,得到命令字接收个数;

根据各所述目标请求命令字生成各目标响应命令字;

对各所述目标响应命令字进行统计操作,得到命令字响应个数;

判断所述命令字接收个数是否大于所述命令字响应个数;

若是,则确定存在共享文件访问问题。

2.根据权利要求1所述的共享文件访问问题定位方法,其特征在于,在对各所述目标请求命令字进行统计操作,得到命令字接收个数之前,还包括:对所述预置数组进行初始化操作。

3.根据权利要求1所述的共享文件访问问题定位方法,其特征在于,在根据所述命令字接收个数和所述命令字响应个数进行共享文件访问问题定位之后,还包括:接收共享文件访问问题查询命令;

获取共享文件访问问题定位结果;

将所述共享文件访问问题定位结果返回给查询方。

4.根据权利要求3所述的共享文件访问问题定位方法,其特征在于,在将所述共享文件访问问题定位结果返回给查询方之后,还包括:接收数组重置命令;

对所述预置数组进行重置操作。

5.一种共享文件访问问题定位装置,其特征在于,包括:请求命令字获得模块,用于对接收到的共享文件访问请求进行解析,得到各目标请求命令字;

请求命令字统计模块,用于从预置数组中分别查找各所述目标请求命令字分别对应的目标结构体;利用各所述目标结构体对各所述目标请求命令字进行统计操作,得到命令字接收个数;

响应命令字生成模块,用于根据各所述目标请求命令字生成各目标响应命令字;

响应命令字统计模块,用于对各所述目标响应命令字进行统计操作,得到命令字响应个数;

访问问题定位模块,用于判断所述命令字接收个数是否大于所述命令字响应个数;若是,则确定存在共享文件访问问题。

6.一种共享文件访问问题定位设备,其特征在于,包括:存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述共享文件访问问题定位方法的步骤。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述共享文件访问问题定位方法的步骤。

说明书 :

共享文件访问问题定位方法、装置、设备及可读存储介质

技术领域

[0001] 本发明涉及计算机应用技术领域,特别是涉及一种共享文件访问问题定位方法、装置、设备及计算机可读存储介质。

背景技术

[0002] 当通过网络共享协议访问共享文件时,通常会有若干用户通过不同的客户端,对共享文件进行同时访问。当客户端出现访问中断问题时,为了定位问题,通常是通过看日志分析是否有错误信息。
[0003] 然而如果发生请求未回应导致客户端主动断开链接的情况,分析日志很难进行命令字为回应类共享文件访问问题定位,导致共享文件访问问题定位效率较低。
[0004] 综上所述,如何有效地解决现有的分析日志进行共享文件访问问题定位方式,问题定位困难且效率低等问题,是目前本领域技术人员急需解决的问题。

发明内容

[0005] 本发明的目的是提供一种共享文件访问问题定位方法,该方法简化了对命令字为回应类共享文件访问问题定位流程,提高了共享文件访问问题定位效率;本发明的另一目的是提供一种共享文件访问问题定位装置、设备及计算机可读存储介质。
[0006] 为解决上述技术问题,本发明提供如下技术方案:
[0007] 一种共享文件访问问题定位方法,包括:
[0008] 对接收到的共享文件访问请求进行解析,得到各目标请求命令字;
[0009] 对各所述目标请求命令字进行统计操作,得到命令字接收个数;
[0010] 根据各所述目标请求命令字生成各目标响应命令字;
[0011] 对各所述目标响应命令字进行统计操作,得到命令字响应个数;
[0012] 根据所述命令字接收个数和所述命令字响应个数进行共享文件访问问题定位。
[0013] 在本发明的一种具体实施方式中,根据所述命令字接收个数和所述命令字响应个数进行共享文件访问问题定位,包括:
[0014] 判断所述命令字接收个数是否大于所述命令字响应个数;
[0015] 若是,则确定存在共享文件访问问题。
[0016] 在本发明的一种具体实施方式中,对各所述目标请求命令字进行统计操作,包括:
[0017] 从预置数组中分别查找各所述目标请求命令字分别对应的目标结构体;
[0018] 利用各所述目标结构体对各所述目标请求命令字进行统计操作。
[0019] 在本发明的一种具体实施方式中,在对各所述目标请求命令字进行统计操作,得到命令字接收个数之前,还包括:
[0020] 对所述预置数组进行初始化操作。
[0021] 在本发明的一种具体实施方式中,在根据所述命令字接收个数和所述命令字响应个数进行共享文件访问问题定位之后,还包括:
[0022] 接收共享文件访问问题查询命令;
[0023] 获取共享文件访问问题定位结果;
[0024] 将所述共享文件访问问题定位结果返回给查询方。
[0025] 在本发明的一种具体实施方式中,在将所述共享文件访问问题定位结果返回给查询方之后,还包括:
[0026] 接收数组重置命令;
[0027] 对所述预置数组进行重置操作。
[0028] 一种共享文件访问问题定位装置,包括:
[0029] 请求命令字获得模块,用于对接收到的共享文件访问请求进行解析,得到各目标请求命令字;
[0030] 请求命令字统计模块,用于对各所述目标请求命令字进行统计操作,得到命令字接收个数;
[0031] 响应命令字生成模块,用于根据各所述目标请求命令字生成各目标响应命令字;
[0032] 响应命令字统计模块,用于对各所述目标响应命令字进行统计操作,得到命令字响应个数;
[0033] 访问问题定位模块,用于根据所述命令字接收个数和所述命令字响应个数进行共享文件访问问题定位。
[0034] 在本发明的一种具体实施方式中,所述请求命令字统计模块包括:
[0035] 结构体查找子模块,用于从预置数组中分别查找各所述目标请求命令字分别对应的目标结构体;
[0036] 请求命令字统计子模块,用于利用各所述目标结构体对各所述目标请求命令字进行统计操作。
[0037] 一种共享文件访问问题定位设备,包括:
[0038] 存储器,用于存储计算机程序;
[0039] 处理器,用于执行所述计算机程序时实现如前所述共享文件访问问题定位方法的步骤。
[0040] 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述共享文件访问问题定位方法的步骤。
[0041] 应用本发明实施例所提供的方法,对接收到的共享文件访问请求进行解析,得到各目标请求命令字;对各目标请求命令字进行统计操作,得到命令字接收个数;根据各目标请求命令字生成各目标响应命令字;对各目标响应命令字进行统计操作,得到命令字响应个数;根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。通过对命令字接收个数和命令字响应个数进行统计,根据统计结果进行共享文件访问问题定位,简化了对命令字为回应类共享文件访问问题定位流程,提高了共享文件访问问题定位效率。
[0042] 相应的,本发明实施例还提供了与上述共享文件访问问题定位方法相对应的共享文件访问问题定位装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1为本发明实施例中共享文件访问问题定位方法的一种实施流程图;
[0045] 图2为本发明实施例中共享文件访问问题定位方法的另一种实施流程图;
[0046] 图3为本发明实施例中一种共享文件访问问题定位装置的结构框图;
[0047] 图4为本发明实施例中一种共享文件访问问题定位设备的结构框图。

具体实施方式

[0048] 为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049] 实施例一:
[0050] 参见图1,图1为本发明实施例中共享文件访问问题定位方法的一种实施流程图,该方法可以包括以下步骤:
[0051] S101:对接收到的共享文件访问请求进行解析,得到各目标请求命令字。
[0052] 预先为每个客户端建立对应的smbd进程。当客户端需要对共享文件进行访问时,即用户进行CIFS(Common Internet File System)共享时,向相应的smbd进程发送共享文件访问请求,smbd进程接收共享文件访问请求,共享文件访问请求中包含各目标请求命令字,不同目标请求命令字表示需要对共享文件中的不同部分进行访问。smbd进程对接收到的共享文件访问请求进行解析,得到各目标请求命令字。
[0053] S102:对各目标请求命令字进行统计操作,得到命令字接收个数。
[0054] 在解析得到各目标请求命令字之后,对各目标请求命令字进行统计操作,得到命令字接收个数。
[0055] 需要说明的是,各目标请求命令字的统计方式可以根据实际情况进行设定和调整,本发明实施例对此不做限定,如当各目标请求命令字的个数总量较少时,可以对各目标请求命令字进行合并统计,当各目标请求命令字的个数总量较多时,可以对各目标请求命令字分别进行统计。
[0056] S103:根据各目标请求命令字生成各目标响应命令字。
[0057] 在解析得到各目标请求命令字之后,根据各目标请求命令字生成各目标响应命令字,以利用smbd进程提供CIFS网络共享协议服务。
[0058] S104:对各目标响应命令字进行统计操作,得到命令字响应个数。
[0059] 在生成各目标响应命令字之后,对各目标响应命令字进行统计操作,得到命令字响应个数。
[0060] 需要说明的是,各目标响应命令字的统计方式可以根据实际情况进行设定和调整,本发明实施例对此不做限定,如当各目标响应命令字的个数总量较少时,可以对各目标响应命令字进行合并统计,当各目标响应命令字的个数总量较多时,可以对各目标响应命令字分别进行统计。
[0061] S105:根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。
[0062] 在经统计分别得到命令字接收个数和命令字响应个数之后,根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。具体的,通过对比命令字接收个数和命令字响应个数是否相同,进而进行共享文件访问问题定位。当命令字接收个数和命令字响应个数相同时,说明smbd进程对客户端发送的共享文件访问请求进行了完整响应;当命令字接收个数大于命令字响应个数时,说明smbd进程对各目标请求命令字中的某些目标请求命令字未能成功响应,可以根据未成功响应的目标请求命令字进行共享文件访问问题定位。通过对命令字接收个数和命令字响应个数进行统计,根据统计结果进行共享文件访问问题定位,简化了对命令字为回应类共享文件访问问题定位流程,提高了共享文件访问问题定位效率。
[0063] 应用本发明实施例所提供的方法,对接收到的共享文件访问请求进行解析,得到各目标请求命令字;对各目标请求命令字进行统计操作,得到命令字接收个数;根据各目标请求命令字生成各目标响应命令字;对各目标响应命令字进行统计操作,得到命令字响应个数;根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。通过对命令字接收个数和命令字响应个数进行统计,根据统计结果进行共享文件访问问题定位,简化了对命令字为回应类共享文件访问问题定位流程,提高了共享文件访问问题定位效率。
[0064] 需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
[0065] 实施例二:
[0066] S201:对接收到的共享文件访问请求进行解析,得到各目标请求命令字。
[0067] S202:对预置数组进行初始化操作。
[0068] 预先设置用于对请求命令字和响应命令字进行统计的数组。在smbd进程启动时,对预置数组进行初始化操作。通过对smbd进程中的预置数组进行初始化操作,避免了前期共享文件访问请求的响应结果对本次共享文件访问请求的响应结果统计的影响,提高了后续对共享文件访问问题定位的准确性。
[0069] S203:从预置数组中分别查找各目标请求命令字分别对应的目标结构体。
[0070] 预先获取CIFS网络共享协议包含的命令字个数,根据命令字个数在预置数组中部署对应数量的结构体,且设置各命令字与各结构体之间的对应关系,每个结构体包含命令字接收个数和命令字响应个数。在解析得到各目标请求命令字之后从预置数组中分别查找各目标请求命令字分别对应的目标结构体。
[0071] S204:利用各目标结构体对各目标请求命令字进行统计操作。
[0072] 在查找到各目标请求命令字分别对应的目标结构体之后,利用各目标结构体对各目标请求命令字进行统计操作。通过为每个目标请求命令字分别设置对应的目标结构体,方便在出现未响应的目标请求命令字时,及时进行共享文件访问问题定位,进一步提高了共享文件访问问题定位效率。
[0073] S205:根据各目标请求命令字生成各目标响应命令字。
[0074] S206:对各目标响应命令字进行统计操作,得到命令字响应个数。
[0075] S207:判断命令字接收个数是否大于命令字响应个数,若是,则执行步骤S208,若否,则输出共享文件访问正常提示信息。
[0076] S208:确定存在共享文件访问问题。
[0077] S209:接收共享文件访问问题查询命令。
[0078] 当需要对共享文件访问结果进行查询时,向smbd进程发送共享文件访问问题查询命令,如向smbd进程发送MSG_SMB_STAT_SHOW_REQ=xxx,其中,xxx代表查询命令发送方与smbd进程之间预先约定好的用于建立查询消息通信的具体数值,可以根据具体实现自行定义。可以通过show‑smb‑statistic实现逻辑,向目标进程号对应的smbd进程发送共享文件访问问题查询命令的方式实现访问问题查询命令发送。smbd进程接收共享文件访问问题查询命令。
[0079] S210:获取共享文件访问问题定位结果。
[0080] 在接收到共享文件访问问题查询命令之后,获取共享文件访问问题定位结果。
[0081] S211:将共享文件访问问题定位结果返回给查询方。
[0082] 在获取到共享文件访问问题定位结果之后,将共享文件访问问题定位结果返回给查询方,如smbd进程向查询命令发送方返回MSG_SMB_STAT_SHOW_RSP=xxx,其中,xxx代表smbd进程与查询命令发送方之间预先约定好的用于建立信息返回消息通信的具体数值,可以根据具体实现自行定义。
[0083] S212:接收数组重置命令。
[0084] 当需要对某数组中的命令字进行重置操作时,向smbd进程发送数组重置命令,如向smbd进程发送MSG_SMB_STAT_RST=xxx,其中,xxx代表重置命令发送方与smbd进程之间预先约定好的用于建立重置消息通信的具体数值,可以根据具体实现自行定义。可以通过reset‑smb‑statistic实现逻辑,向目标进程号对应的smbd进程发送数组重置命令的方式实现数组重置命令发送。smbd进程接收数组重置命令。
[0085] S213:对预置数组进行重置操作。
[0086] 在接收到数组重置命令之后,对预置数组进行重置操作。通过对预置数组进行重置,避免了前期共享文件访问请求生成的大量响应结果对后续共享文件访问请求的响应结果统计的影响,提高了后续对共享文件访问问题定位的准确性。
[0087] 相应于上面的方法实施例,本发明实施例还提供了一种共享文件访问问题定位装置,下文描述的共享文件访问问题定位装置与上文描述的共享文件访问问题定位方法可相互对应参照。
[0088] 参见图3,图3为本发明实施例中一种共享文件访问问题定位装置的结构框图,该装置可以包括:
[0089] 请求命令字获得模块31,用于对接收到的共享文件访问请求进行解析,得到各目标请求命令字;
[0090] 请求命令字统计模块32,用于对各目标请求命令字进行统计操作,得到命令字接收个数;
[0091] 响应命令字生成模块33,用于根据各目标请求命令字生成各目标响应命令字;
[0092] 响应命令字统计模块34,用于对各目标响应命令字进行统计操作,得到命令字响应个数;
[0093] 访问问题定位模块35,用于根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。
[0094] 应用本发明实施例所提供的装置,对接收到的共享文件访问请求进行解析,得到各目标请求命令字;对各目标请求命令字进行统计操作,得到命令字接收个数;根据各目标请求命令字生成各目标响应命令字;对各目标响应命令字进行统计操作,得到命令字响应个数;根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。通过对命令字接收个数和命令字响应个数进行统计,根据统计结果进行共享文件访问问题定位,简化了对命令字为回应类共享文件访问问题定位流程,提高了共享文件访问问题定位效率。
[0095] 在本发明的一种具体实施方式中,访问问题定位模块35包括:
[0096] 判断子模块,用于判断命令字接收个数是否大于命令字响应个数;
[0097] 访问问题确定子模块,用于当命令字接收个数大于命令字响应个数时,确定存在共享文件访问问题。
[0098] 在本发明的一种具体实施方式中,请求命令字统计模块32包括:
[0099] 结构体查找子模块,用于从预置数组中分别查找各目标请求命令字分别对应的目标结构体;
[0100] 请求命令字统计子模块,用于利用各目标结构体对各目标请求命令字进行统计操作。
[0101] 在本发明的一种具体实施方式中,该装置还可以包括:
[0102] 数组初始化模块,用于在对各目标请求命令字进行统计操作,得到命令字接收个数之前,对预置数组进行初始化操作。
[0103] 在本发明的一种具体实施方式中,该装置还可以包括:
[0104] 查询命令接收模块,用于在根据命令字接收个数和命令字响应个数进行共享文件访问问题定位之后,接收共享文件访问问题查询命令;
[0105] 问题定位结果获取模块,用于获取共享文件访问问题定位结果;
[0106] 结果返回模块,用于将共享文件访问问题定位结果返回给查询方。
[0107] 在本发明的一种具体实施方式中,该装置还可以包括:
[0108] 重置命令接收模块,用于在对共享文件访问问题定位结果进行显示操作之后,接收数组重置命令;
[0109] 重置模块,用于对预置数组进行重置操作。
[0110] 相应于上面的方法实施例,参见图4,图4为本发明所提供的共享文件访问问题定位设备的示意图,该设备可以包括:
[0111] 存储器41,用于存储计算机程序;
[0112] 处理器42,用于执行上述存储器41存储的计算机程序时可实现如下步骤:
[0113] 对接收到的共享文件访问请求进行解析,得到各目标请求命令字;对各目标请求命令字进行统计操作,得到命令字接收个数;根据各目标请求命令字生成各目标响应命令字;对各目标响应命令字进行统计操作,得到命令字响应个数;根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。
[0114] 对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
[0115] 相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
[0116] 对接收到的共享文件访问请求进行解析,得到各目标请求命令字;对各目标请求命令字进行统计操作,得到命令字接收个数;根据各目标请求命令字生成各目标响应命令字;对各目标响应命令字进行统计操作,得到命令字响应个数;根据命令字接收个数和命令字响应个数进行共享文件访问问题定位。
[0117] 该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0118] 对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
[0119] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。