一种检测客户端状态的方法和装置与流程

文档序号:17002603发布日期:2019-03-02 01:52阅读:199来源:国知局
一种检测客户端状态的方法和装置与流程

本申请涉及计算机技术领域,尤其涉及一种检测客户端状态的方法和装置。



背景技术:

随着智能社会的发展,程序的开发逐渐受到关注。在程序开发过程中,需要使用一些变动频率较低的数据,这类数据通常是经过格式化后存储在数据文件中,而且,这类数据是以数据文件的形式进行更新的。如此,当两个不同的进程分别对该数据文件进行读操作或写操作时,将会出现多个进程下对文件的读写冲突的问题。

为了解决数据文件的在多个进程下的读写冲突问题,现有技术通常通过对每个数据文件添加文件锁,实现对文件的读写保护。

然而,当网络环境不稳定或者断电时,对文件进行加锁,此时有可能会导致客户端崩溃的现象,而且,客户端是否崩溃与网络超时时间的长短有关,因此,在确定解决客户端崩溃问题的具体方案前,需要获得网络超时时间的长短对客户端的状态的具体影响。



技术实现要素:

为了解决现有技术中存在的以上技术问题,本申请提供一种检测客户端状态的方法和装置,能够检测客户端在不同网络超时时间下的工作状态,进而确定网络超时时间的长短对客户端的状态的具体影响。

为了实现上述目的,本申请提供的技术方案如下:

本申请提供了一种检测客户端状态的方法,所述方法应用于多集群节点系统中,所述多集群节点系统包括第一客户端和第二客户端,所述方法包括:

配置所述第一客户端和所述第二客户端的测试环境;

在所述第一客户端和所述第二客户端分别配置预设程序;所述预设程序用于对预先创建好的测试文件的加锁及状态检测;

在所述第一客户端配置预设脚本,所述预设脚本用于测试引起第二客户端崩溃的网络断开时长;

执行所述预设脚本,并启动所述预设程序,以检测所述第一客户端的断网时长对所述第二客户端崩溃的影响。

可选地,所述执行所述预设脚本和所述预设程序,以检测所述第一客户端的断网时长对所述第二客户端崩溃的影响,具体包括:

将所述第一客户端的网络断开测试时长,待测试时长后恢复所述第一客户端的网络;

启动配置在所述第二客户端上的预设程序,以实现对所述测试文件的加锁和状态检测,以检测所述第二客户端是否发生崩溃,

如果是,输出n+1倍的预设时长;

如果否,更新所述测试时长,返回执行所述将所述第一客户端的网络断开测试时长;

其中,n为预设脚本在所述待测时长内循环执行次数,n为正整数;所述预设时长为所述预设脚本执行一次所需时长;所述n+1倍的预设时长为引起第二客户端崩溃的网络断开时长。

可选地,所述将所述第一客户端的网络断开测试时长,待测试时长后恢复所述第一客户端的网络,具体包括:

断开所述第一客户端的网络;

检测所述第一客户端的网络是否断开,若是,等待测试时长后恢复所述第一客户端的网络;

检测所述第一客户端的网络是否恢复;

所述启动配置在所述第二客户端上的预设程序,具体包括:

待所述第一客户端的网络恢复后,启动配置在所述第二客户端上的预设程序。

可选地,所述配置所述第一客户端和所述第二客户端的测试环境,具体包括:

控制所述第一客户端和所述第二客户端进行用户空间文件系统fuse挂载;

配置所述第一客户端和所述第二客户端之间的免密登录;

创建测试文件。

可选地,所述检测所述第一客户端的网络是否断开,具体包括:

根据所述预设程序输出的测试文件的状态,检测所述第一客户端的网络是否断开;其中,当所述预设程序输出的测试文件的状态为解锁成功,则确定所述第一客户端的网络断开。

可选地,所述检测所述第一客户端的网络是否恢复,具体包括:

根据所述预设程序输出的测试文件的状态,检测所述第一客户端的网络是否恢复;其中,当所述预设程序输出的测试文件的状态为上锁成功,则确定所述第一客户端的网络恢复。

本申请还提供一种检测客户端状态的装置,包括:

第一配置单元,用于配置所述第一客户端和所述第二客户端的测试环境;

第二配置单元,用于在所述第一客户端和所述第二客户端分别配置预设程序;所述预设程序用于对预先创建好的测试文件的加锁及状态检测;

第三配置单元,用于在所述第一客户端配置预设脚本,所述预设脚本用于测试引起第二客户端崩溃的网络断开时长;

执行单元,用于执行所述预设脚本,并启动所述预设程序,以检测所述第一客户端的断网时长对所述第二客户端崩溃的影响。

可选地,所述执行单元,具体包括:

断开子单元,用于将所述第一客户端的网络断开测试时长,待测试时长后恢复所述第一客户端的网络;

启动子单元,用于启动配置在所述第二客户端上的预设程序,以实现对所述测试文件的加锁和状态检测,以检测所述第二客户端是否发生崩溃,

如果是,输出n+1倍的预设时长;

如果否,更新所述测试时长,返回执行所述将所述第一客户端的网络断开测试时长;

其中,n为预设脚本在所述待测时长内循环执行次数,n为正整数;所述预设时长为所述预设脚本执行一次所需时长;所述n+1倍的预设时长为引起第二客户端崩溃的网络断开时长。

可选地,所述断开子单元,具体包括:

断开模块,用于断开所述第一客户端的网络;

第一检测模块,用于检测所述第一客户端的网络是否断开,若是,等待测试时长后恢复所述第一客户端的网络;

第二检测模块,用于检测所述第一客户端的网络是否恢复;

所述启动子单元,具体包括:

用于待所述第一客户端的网络恢复后,启动配置在所述第二客户端上的预设程序。

可选地,所述第一配置单元,具体包括:

控制子单元,用于控制所述第一客户端和所述第二客户端进行用户空间文件系统fuse挂载;

配置子单元,用于配置所述第一客户端和所述第二客户端之间的免密登录;

创建子单元,用于创建测试文件。

可选地,所述第一检测模块,具体包括:

用于根据所述预设程序输出的测试文件的状态,检测所述第一客户端的网络是否断开;其中,当所述预设程序输出的测试文件的状态为解锁成功,则确定所述第一客户端的网络断开。

与现有技术相比,本申请至少具有以下优点:

本申请提供的检测客户端状态的方法,包括:配置所述第一客户端和所述第二客户端的测试环境;在所述第一客户端和所述第二客户端分别配置预设程序;所述预设程序用于对预先创建好的测试文件的加锁及状态检测;在所述第一客户端配置预设脚本,所述预设脚本用于测试引起第二客户端崩溃的网络断开时长;执行所述预设脚本,并启动所述预设程序,以检测所述第一客户端的断网时长对所述第二客户端崩溃的影响。该方法通过在第一客户端执行预设脚本和启动预设程序,来检测第一客户端的断网时长对所述第二客户端崩溃的影响,从而,可以根据客户端在不同网络超时时间下的工作状态,从而获得网络超时时间的长短对客户端的状态的具体影响。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例提供的检测客户端状态的方法的流程图;

图2为本申请实施例提供的检测客户端状态的装置的结构示意图;

图3为本申请实施例提供的一种执行单元的结构示意图;

图4为本申请实施例提供的一种断开子单元的结构示意图;

图5为本申请实施例提供的一种第一配置单元的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

方法实施例

参见图1,该图为本申请实施例提供的检测客户端状态的方法的流程图。

本申请实施例提供的检测客户端状态的方法,包括:

s101:配置所述第一客户端和所述第二客户端的测试环境。

本申请实施例提供的检测客户端状态的方法应用于多集群节点系统中,所述多集群节点系统包括第一客户端和第二客户端。

作为示例,s101可以具体为:

s101a:控制所述第一客户端和所述第二客户端进行用户空间文件系统(filesysteminuserspace,fuse)挂载。

s101b:配置所述第一客户端和所述第二客户端之间的免密登录。

作为示例,s101b可以具体为:第一客户端修改/etc/hosts文件,并增加第一客户端的ip地址和第一客户端的标识符,同时,第二客户端修改/etc/hosts文件,并增加第二客户端的ip地址和第二客户端的标识符,如此,即可实现第一客户端和第二客户端之间的免密登录。

s101c:创建测试文件。

测试文件是可以被第一客户端或第二客户端进行读写的数据文件,而且,还可以被添加文件锁。

测试文件可以预先存储在预设的目录下。例如,测试文件可以预先存储在第一客户端的/mnt//icfs目录下,同时,还预先存储在第二客户端的/mnt//icfs目录下。

s102:在所述第一客户端和所述第二客户端分别配置预设程序;所述预设程序用于对预先创建好的测试文件的加锁及状态检测。

预设程序可以预先存储在预先制定的目录下,以便于后续准确的执行该预设程序。例如,预设程序可以预先存储在第一客户端的根目录下以及第二客户端的跟目录下。

测试文件的状态包括:加锁状态和解锁状态。当测试文件处于加锁状态,则表示测试文件处于锁定状态;当测试文件处于解锁状态,则表示测试文件处于未锁定状态。

预设程序对测试文件的状态检测过程,可以具体为:当预设程序检测到测试文件处于锁定状态时,则输出测试文件加锁成功的提示信息,例如,该提示信息可以为上锁成功;当预设程序检测到测试文件处于未锁定状态时,则输出测试文件解锁成功的提示信息,例如,该提示信息可以为解锁成功。

s103:在所述第一客户端配置预设脚本,所述预设脚本用于测试引起第二客户端崩溃的网络断开时长。

预设脚本可以预先存储在第一客户端的预先制定的目录下,以便于后续第一客户端准确的执行该预设脚本。

而且,预设脚本可以用于测试引起第二客户端崩溃的网络断开时长,可以具体包括:用于控制第一用户端的网络的通断,并用于确定第一用户端的网络断开的时长。

s104:执行所述预设脚本,并启动所述预设程序,以检测所述第一客户端的断网时长对所述第二客户端崩溃的影响。

作为示例,s104可以具体为:

s1041:将所述第一客户端的网络断开测试时长,待测试时长后恢复所述第一客户端的网络。

测试时长为可以指定的时长。作为示例,测试时长可以为n+1倍的预设时长,其中,n为预设脚本在所述待测时长内循环执行次数,n为正整数;所述预设时长为所述预设脚本执行一次所需时长。

作为示例,s1041可以具体为:

s1041a:断开所述第一客户端的网络;

s1041b:检测所述第一客户端的网络是否断开,若是,则执行s1041c;若否,则执行s1041b。

作为示例,s1041b可以具体为:

当第一客户端启动预设程序时,根据所述预设程序输出的测试文件的状态,检测所述第一客户端的网络是否断开;其中,当所述预设程序输出的测试文件的状态为解锁成功,则确定所述第一客户端的网络断开。

s1041c:等待测试时长后恢复所述第一客户端的网络;

s1041d:检测所述第一客户端的网络是否恢复;若是,则执行s1042;若否,则执行s1041d。

作为示例,s1041d可以具体为:

当第一客户端启动预设程序时,根据所述预设程序输出的测试文件的状态,检测所述第一客户端的网络是否恢复;其中,当所述预设程序输出的测试文件的状态为上锁成功,则确定所述第一客户端的网络恢复。

s1042:启动配置在所述第二客户端上的预设程序,以实现对所述测试文件的加锁和状态检测。

s1043:检测所述第二客户端是否发生崩溃,若是,则执行s1043;若否,则执行s1045。

s1044:输出n+1倍的预设时长。

所述n+1倍的预设时长为引起第二客户端崩溃的网络断开时长。

s1045:更新所述测试时长,返回执行s1041。

本申请实施例提供的检测客户端状态的方法,包括:配置所述第一客户端和所述第二客户端的测试环境;在所述第一客户端和所述第二客户端分别配置预设程序;所述预设程序用于对预先创建好的测试文件的加锁及状态检测;在所述第一客户端配置预设脚本,所述预设脚本用于测试引起第二客户端崩溃的网络断开时长;执行所述预设脚本,并启动所述预设程序,以检测所述第一客户端的断网时长对所述第二客户端崩溃的影响。该方法通过在第一客户端执行预设脚本和启动预设程序,来检测第一客户端的断网时长对所述第二客户端崩溃的影响,从而,可以根据客户端在不同网络超时时间下的工作状态,从而获得网络超时时间的长短对客户端的状态的具体影响。

装置实施例

参见图2,该图为本申请实施例提供的检测客户端状态的装置的结构示意图。

本申请实施例提供的检测客户端状态的装置,包括:

第一配置单元201,用于配置所述第一客户端和所述第二客户端的测试环境;

第二配置单元202,用于在所述第一客户端和所述第二客户端分别配置预设程序;所述预设程序用于对预先创建好的测试文件的加锁及状态检测;

第三配置单元203,用于在所述第一客户端配置预设脚本,所述预设脚本用于测试引起第二客户端崩溃的网络断开时长;

执行单元204,用于执行所述预设脚本,并启动所述预设程序,以检测所述第一客户端的断网时长对所述第二客户端崩溃的影响。

参见图3,该图为本申请实施例提供的一种执行单元的结构示意图。

作为另一种实施方式,在该实施方式中,所述执行单元204,具体包括:

断开子单元2041,用于将所述第一客户端的网络断开测试时长,待测试时长后恢复所述第一客户端的网络;

启动子单元2042,用于启动配置在所述第二客户端上的预设程序,以实现对所述测试文件的加锁和状态检测,以检测所述第二客户端是否发生崩溃,如果是,输出n+1倍的预设时长;如果否,更新所述测试时长,返回执行所述将所述第一客户端的网络断开测试时长;

其中,n为预设脚本在所述待测时长内循环执行次数,n为正整数;所述预设时长为所述预设脚本执行一次所需时长;所述n+1倍的预设时长为引起第二客户端崩溃的网络断开时长。

参见图4,该图为本申请实施例提供的一种断开子单元的结构示意图。

作为又一种实施方式,在该实施方式中,所述断开子单元2041,具体包括:

断开模块2041a,用于断开所述第一客户端的网络;

第一检测模块2041b,用于检测所述第一客户端的网络是否断开,若是,等待测试时长后恢复所述第一客户端的网络;

第二检测模块2041c,用于检测所述第一客户端的网络是否恢复;

所述启动子单元2042,具体包括:

用于待所述第一客户端的网络恢复后,启动配置在所述第二客户端上的预设程序。

参见图5,该图为本申请实施例提供的一种第一配置单元的结构示意图。

作为再一实施方式,所述第一配置单元201,具体包括:

控制子单元2011,用于控制所述第一客户端和所述第二客户端进行用户空间文件系统fuse挂载;

配置子单元2012,用于配置所述第一客户端和所述第二客户端之间的免密登录;

创建子单元2013,用于创建测试文件。

作为又一实施方式,所述第一检测模块2041b,具体包括:

用于根据所述预设程序输出的测试文件的状态,检测所述第一客户端的网络是否断开;其中,当所述预设程序输出的测试文件的状态为解锁成功,则确定所述第一客户端的网络断开。

所述第二检测模块2041c,具体包括:

用于根据所述预设程序输出的测试文件的状态,检测所述第一客户端的网络是否恢复;其中,当所述预设程序输出的测试文件的状态为上锁成功,则确定所述第一客户端的网络恢复。

本申请实施例提供的检测客户端状态的装置,包括:第一配置单元201、第二配置单元202、第三配置单元203和执行单元204,该装置通过在第一客户端执行预设脚本和启动预设程序,来检测第一客户端的断网时长对所述第二客户端崩溃的影响,从而,可以根据客户端在不同网络超时时间下的工作状态,从而获得网络超时时间的长短对客户端的状态的具体影响。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1