网络诊断的方法、电子设备、系统与可读存储介质与流程

文档序号:24345841发布日期:2021-03-19 12:29阅读:115来源:国知局
网络诊断的方法、电子设备、系统与可读存储介质与流程

本申请涉及计算机技术领域,尤其涉及一种网络诊断的方法、电子设备、系统与可读存储介质。



背景技术:

目前,网络用户的数量越来越多。与此同时,网络故障导致网络请求失败的情况也普遍存在。导致网络请求失败的因素有很多,其中有些是不可改善因素,例如,用户手机的问题,蜂窝/无线网络的故障等,还有些是可以改善因素,例如,运营商节点故障,自由运营负载均衡故障,业务服务故障等。

为了搞清楚真实的网络请求失败的原因,需要使用网络诊断(包括ping,connect,trace等)来分析。现有技术是让用户手动触发一个网络诊断,但由于用户手动触发网络诊断可能会出现诊断延迟或遗漏诊断的情况,并不能做到实时触发网络诊断,这会导致无法准确获知用户的网络故障原因,同时容易导致网络问题无法及时解决,影响网络通信顺畅程度。



技术实现要素:

为了解决上述技术问题,本申请提供了一种网络诊断的方法、电子设备、系统与可读存储介质。

第一方面,本申请提供了一种网络诊断的方法,应用于终端设备,该方法包括:

当检测到所述终端设备的网络当前所处的网络状态为弱网状态时,确定所述网络在当前时刻所处的单位时间段中处于弱网状态的目标参数;

在所述目标参数与单位参数的比值超过预设阈值的情况下,对所述网络进行网络诊断,得到诊断结果,其中,所述单位参数为所述单位时间段中与目标参数同类型的参数;

向服务器发送所述诊断结果,以使得所述服务器基于所述诊断结果调整网络状态。

第二方面,本申请还提供了一种网络诊断的方法,应用于服务器,该方法包括:

接收来自于终端设备的诊断结果,其中,所述诊断结果是所述终端设备在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断得到的,其中,所述目标参数是所述终端设备在检测到所述终端设备的网络当前所处的网络状态为弱网状态时,确定所述网络在当前时刻所处的单位时间段中处于弱网状态的目标参数;

根据所述诊断结果,调整网络状态。

第三方面,本申请还提供了一种电子设备,其特征在于,所述电子设备为终端设备,所述电子设备包括:

确定模块,用于当检测到所述终端设备的网络当前所处的网络状态为弱网状态时,确定所述网络在当前时刻所处的单位时间段中处于弱网状态的目标参数;

诊断模块,用于在所述目标参数与单位参数的比值超过预设阈值的情况下,对所述网络进行网络诊断,得到诊断结果,其中,所述单位参数为所述单位时间段中与目标参数同类型的参数;

第一发送模块,用于向服务器发送所述诊断结果,以使得所述服务器基于所述诊断结果调整网络状态。

第四方面,本申请提供了一种电子设备,其特征在于,所述电子设备为服务器,所述电子设备包括:

接收模块,用于接收来自于终端设备的诊断结果,其中,所述诊断结果是所述终端设备在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断得到的,其中,所述目标参数是所述终端设备在检测到所述终端设备的网络当前所处的网络状态为弱网状态时,确定所述网络在当前时刻所处的单位时间段中处于弱网状态的目标参数;

调整模块,用于根据所述诊断结果,调整网络状态。

第五方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面或第二方面中任一所述的网络诊断的方法的步骤。

第六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有图像数据采集方法的程序,所述数据采集方法的程序被处理器执行时实现第一方面或第二方面中任一所述的网络诊断的方法的步骤。

与现有技术相比,本申请实施例提供的上述技术方案可以具有如下有益效果:

现有技术中为了搞清楚真实的网络请求失败的原因,需要使用网络诊断的ping技术或connect技术或trace技术等来分析,但是这些技术都是需要用户来手动触发一个网络诊断,由于用户手动触发网络诊断会出现遗漏多个网络诊断的情况,导致无法及时解决网络故障问题,致使网络故障处理效率低下,另外,现有技术在用户手动触发网络诊断的诊断数量上不能进行诊断数量的控制,导致服务器容量过大,出现服务器超负载存储诊断结果数量引发崩溃的情况。

基于此,本申请实施例在检测到终端设备的网络当前所处的网络状态为弱网状态时,确定出网络在当前时刻所处的单位时间段中处于弱网状态的目标参数,将确定的目标参数与单位参数的比值与预设阈值进行比较,进而确定当前终端设备的网络是否满足触发网络诊断的条件,进而及时得到网络诊断结果;服务器接收到该网络诊断结果后,根据该网络诊断结果对网络进行及时的调整,这样不再需要用户主动触发网络诊断,进而达到专业技术人员可以快速找到网络故障问题,及时解决用户网络问题的目的。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

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

图1为本发明实施例的一种可选的网络诊断的方法的硬件环境的示意图;

图2为本申请实施例提供的一种可选的网络诊断的方法流程示意图;

图3为本申请另一实施例提供的一种可选的网络诊断的方法流程示意图;

图4为本申请实施例提供的一种可选的网络诊断的整体流程示意图;

图5为本申请实施例提供的一种可选的网络诊断的终端设备框图;

图6为本申请实施例提供的一种可选的网络诊断的服务器框图;

图7为本申请实施例提供的一种可选的电子设备框图。

具体实施方式

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

用户使用终端设备连接网络,通过网络发送请求消息,以获取待访问页面。如果在使用的过程中,用户终端设备(比如手机,平板电脑,pc机等)的网络突然中断或请求数据延缓的情况,用户一般只是终端设备的使用者,并不会主动去查找出现网络故障的原因,也不会主动将诊断信息上报至服务器,一般情况下,是由负责后端网络的技术人员去查找出现网络中断或数据延迟的缘故,这样的处理方式存在网络故障处理效率低的问题。

根据本申请实施例的一个方面,提供了一种网络诊断的方法,上述网络诊断的方法可以应用于如图1所示的由终端(也可称为终端设备)101和服务器102构成的系统中。如图1所示,服务器102通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器102提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于pc、手机、平板电脑等。其中,终端101执行本申请实施例的网络诊断的方法也可以是由安装在其上的客户端来执行。可以理解,实际场景中,终端101的数目可以为一个或多个,图1示例性的示出了一个终端101。

以运行在客户端的终端设备为例,图2是根据本申请实施例的一种可选的网络诊断的方法的流程示意图,如图2所示,该方法应用于终端设备,其流程可以包括以下步骤:

步骤s201,当检测到终端设备的网络当前所处的网络状态为弱网状态时,确定网络在当前时刻所处的单位时间段中处于弱网状态的目标参数。

可选地,在本申请实施例中,终端设备可以对其连接的网络状态进行检测。需要说明的是,这里的监控网络状态的触发条件可以是默认的持续检测(也可以称为持续监控),比如像手机信号那样进行持续监控;或者,也可以设置一些触发条件,在满足该触发条件后再进行网络监控。

示例性的一种实施例中,在用户的终端设备发起一个网页的访问请求时,可以触发检测终端设备的网络所处的网络状态。

访问请求的请求数据会占用一定的网络带宽传输,这样网络的实时状态会影响到数据的发送情况,比如,当出现网络速度骤减的情况下,请求数据发送失败的概率将大大增加。同时,访问请求的发送频率高(该请求数据可以是一秒内发送一次或一秒内发送多次),因此,通过访问请求触发网络状态检测可以保证网络状态获取的及时性,提高网络状态获取的效率。

在本申请实施例中,可以利用网络检测工具检测终端设备的网络状态情况,其中,网络检测工具可以是第三方网络检测工具或安装在该终端设备中某一检测网络的app软件等,本申请实施例不对上述网络检测工具做限定。

其中,本申请实施例中的网络检测工具可以直接得到网路状态是否为弱网,此时直接将该网络状态结果作为当前网络的最终状态结果。或者,网络检测工具也可以不直接输出是否为弱网的检测结果,此时,输出的可以是一些网络参数,终端需要基于这些网络参数判断是否为弱网。这里的网络参数可以是网络信号强度、网络拥堵程度、网络丢包率等,以这些网络参数作为判断网络状态是否为弱网的依据。比如,当网络信号强度小于或等于一个信号格时,则可以确定当前的网络状态为弱网状态。

根据检测到的网络状态,终端设备可以确定网络当前所处的状态是否为弱网状态。如果为弱网状态,终端设备可以确定:网络在当前时刻所处的单位时间段中处于弱网状态的目标参数。本申请实施例中,基于弱网检测方式的不同,目标参数至少可以包括但不限于如下情况:

在一可能的实施例中,在对网络状态进行持续监控的情况下,这里的目标参数可以是指连续处于弱网状态的持续时长。

在另一可能的实施例中,在对网络状态进行间断式检测网络状态的情况下,这里的目标参数可以是指网络持续处于弱网状态的检测次数。

反之,如果网络当前所处的状态不为弱网状态,终端设备可以持续监控网络状态之外,也可以重新基于访问请求触发网络状态检测。其中,单位时间段是以当前时刻为终点的单位时长,代表一段时长。

步骤s202,在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断,得到诊断结果,其中,单位参数为单位时间段的参数。

可选地,本申请实施例将单位参数用字母k表示,基于检测方式的不同,与目标参数相对应的,该单位参数可以有两种情况:比如,单位参数可以是在当前网络连续处于弱网状态下单位时间段的单位时长,单位参数也可以是在当前网络间断式处于弱网状态下单位时间段内的总检测次数。

获取网络在当前时刻所处在单位参数k中处于弱网状态的目标参数,其中,该目标参数可以是持续时长(单位可以是秒),也可以是持续次数。

本申请实施例中,可以用字母a表示目标参数,然后确定在k时间段或总检测次数内,a占据k的比值可以记作b,也即,b=a/k。

在本申请实施例中设置一个预设阈值(比如预设阈值等于80%),终端设备可以将b与预设阈值进行数值大小的比较,若b大于或者等于预设阈值,则触发对网络进行网络诊断,得到诊断结果;若b小于预设阈值,则不触发对网络进行网络诊断。另外,该诊断结果可以是对以下至少一项进行诊断所得到的结果数据:协议故障,连通性故障,配置故障,设备故障等。

步骤s203,向服务器发送诊断结果,以使得服务器基于诊断结果调整网络状态。

可选地,在得到诊断结果之后,终端设备可以将诊断结果发送给服务器,服务器基于该诊断结果调整网络状态。服务器如何对其进行调整,后续详述。

现有技术中为了搞清楚真实的网络请求失败的原因,需要使用网络诊断的ping技术或connect技术或trace技术等来分析,但是这些技术都是需要用户来手动触发一个网络诊断,由于用户手动触发网络诊断会出现遗漏多个网络诊断的情况,导致无法及时解决网络故障问题,致使网络故障处理效率低下,另外,现有技术在用户手动触发网络诊断的诊断数量上不能进行诊断数量的控制,导致服务器容量过大,出现服务器超负载存储诊断结果数量引发崩溃的情况。基于此,本申请实施例在检测到终端设备的网络当前所处的网络状态为弱网状态时,确定出网络在当前时刻所处的单位时间段中处于弱网状态的目标参数,将确定的目标参数与单位参数的比值与预设阈值进行比较,进而确定当前终端设备的网络是否满足触发网络诊断的条件,进而及时得到网络诊断结果,不再需要用户主动触发网络诊断,进而达到专业技术人员可以快速找到网络故障问题,及时解决用户网络问题的目的。

基于上述各实施例的内容,作为一种可选实施例:在对网络进行网络诊断之后,应用于终端设备的方法还包括:

将诊断结果存储到终端设备的本地日志,以使得诊断结果随本地日志上报服务器。

可选地,在本申请实施例中,终端设备在对网络进行诊断后,该诊断结果除了投递给服务器,终端设备也可以将该诊断结果保存在本地,例如,保存在本地日志文件内,这样可以依据本地日志文件将诊断结果上报至服务器。

在本申请实施例除了将上述的诊断结果发送至服务器外,为了让服务器更好的分析线上用户网络问题,终端设备会将关于网络故障的反馈信息也发送至服务器,比如:将网络中断或网络请求发送迟缓等表现形式也发送到服务器。

服务器除了会自行分析网络出现故障的问题之外,还会将网络诊断结果反馈到后台端的网络维修技术人员,然后网络维护技术人员基于服务器一次接收的所有网络信息或多次接收的网络信息进行网络故障维修。

通过本申请实施例,将故障现场的诊断结果数据保存在本地,便于用户投递反馈故障信息时,与诊断结果数据一起发送给服务器,有利于及时准确地解决用户的问题;同时,终端设备向服务器发送网络诊断结果之后,再接收终端设备发送到服务器关于网络故障的表现形式的反馈信息,服务器根据接收到的诊断结果以及该反馈信息给出更合理的解决网络故障的方案。

通过本申请实施例,将网络故障信息以及对网络故障的诊断结果同时上报到服务器,服务器可根据这两个信息给出解决方案,可以更好的分析线上用户网络问题,解决用户反馈和投诉,提高用户满意度。

基于上述各实施例的内容,作为一种可选实施例:该方法还包括:

终端设备可以利用弱网检测模型,实时检测终端设备的网络状态,得到终端设备的网络状态曲线。

可选地,终端设备中可以运行有弱网检测模型,该弱网检测模型可基于已发生网络请求来判断网络是否处在弱网的状态,其中弱网状态的检测方法除了检测网速外,还包括时延检测、数据丢包率检测等。

当网络出现故障时,不管是哪种原因,必然会导致数据请求失败,即使数据请求成功也必然耗时很长。这时弱网检测模型可以检测到网络速度骤降,这时网速等级变差或者变得非常差。本申请实施例可以根据网速的状态判断出网络是否进入弱网状态。比如,弱网检测模型检测到网络速度从150k/s骤降到10k/s甚至是1k/s,说明这时网速等级变得非常差,也即,当前网络进入弱网状态。

本申请实施例在网络进入弱网时,就记录当前的时间戳,在网络退出弱网状态的前一时刻,也记录下时间戳,从而形成一个弱网的一维曲线图,该曲线图可以表征网络处于弱网状态的持续时长,也就是说,该一维曲线图中表征的持续时长可以是上述实施例中涉及的目标参数a(其中,a为持续时长的情况)。

另外,本申请实施例可以在一维曲线上设置滑动窗,滑动窗可以在时间戳构成的时间轴上移动,然后基于滑动窗来确定k值。其中,k值通常是一固定数值,在k表示单位时长时,可以通过时间戳上的滑动窗来表示该k值大小,即滑动窗的大小为k值,该滑动窗跟随诊断时间沿着时间戳向前移动。其中,诊断时间是指时间戳上的时间刻度,比如,时间戳上标有10:00、10:02、10:04、10:06的时间刻度,此时,滑动窗起始位置如果是在10:00的时间刻度上,在滑动窗k值设置为4秒时,这时滑动窗应该移动到10:04这个时间刻度上。需要说明的是,滑动窗k值的设置可以是通过人为设定的。

通过本申请实施例,通过获取时间戳序列得到网络处于弱网状态的持续时长,进而判断网络在当前时刻处在弱网状态的总时长是否满足触发网络诊断的条件,从而及时自动触发网络诊断,诊断过程无需人工参与,节省人力资源。

基于上述各实施例的内容,作为一种可选实施例:接收来自于服务器的单位参数,单位参数是服务器基于接收到的诊断结果确定的。

可选地,在用户的终端设备基数较大时,由于频繁的网络故障诊断,将诊断结果发送至服务器,会出现服务器存储容量不够,服务器负荷较大的情况。

本申请实施例将单位参数最初设置的都是固定数值,但是该固定数值是可以基于服务器的指示更新的,因此,可以将该固定数值看作基于实际诊断情况动态更新的数据,其是由服务器基于接收到的诊断结果确定的。

在本申请实施例中,服务器通过对一定时长(可以是一天、8个小时、一个月或多天等任意自定义时长)内接收到的诊断结果的数量,动态调整单位参数控制总的诊断次数。

本申请实施例利用服务器接收到的诊断结果,来动态调整单位参数,控制投递到服务器内的诊断结果数量,如此,诊断数量可控,这至少可以减轻服务器的存储压力。

根据本申请实施例的另一个方面,还提供了一种网络诊断的方法,如图3所示,该网络诊断的方法应用于服务器,该方法包括:

步骤s301,接收来自于终端设备的诊断结果,其中,诊断结果是终端设备在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断得到的,其中,目标参数是终端设备在检测到终端设备的网络当前所处的网络状态为弱网状态时,确定网络在当前时刻所处的单位时间段中处于弱网状态的目标参数。

可选地,服务器可以将该诊断结果进行保存,例如,保存到服务器的存储部件或者与服务器相连的数据库中,如果后续该用户进行了故障报修等,服务器可以调取保存的该用户的终端设备的诊断结果数据给技术人员,以方便技术人员可以根据诊断结果数据进行此次网络故障的维修,提高网络故障的处理效率。

服务器接收到终端设备发送来的诊断结果,该诊断结果是终端设备在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断得到的。其中目标参数是终端设备在检测到终端设备的网络当前所处的网络状态为弱网状态时,确定网络在当前时刻所处的单位时间段中处于弱网状态的目标参数,单位时间段是以当前时刻为终点的单位时长。

步骤s302,根据诊断结果,调整网络状态。

可选地,本申请实施例根据诊断结果,调整网络状态,调整网络状态可以手动调整,比如输出提示信息,让维护人员手动维护网络状态;还可以自动调整,比如根据网络状态自动调整网络适配器设置等,以上仅是示例性描述,本申请实施例涉及的网络状态调整包括但不限于上述两种方式。

基于上述各实施例的内容,作为一种可选实施例:服务器还可以进一步执行如下处理:

根据诊断结果,调整单位参数;单位参数包括:单位时间段的时长和/或单位时间段内的总检测次数;

向终端设备发送调整后的单位参数,以使得终端设备根据调整后的单位参数进行网络诊断。

可选地,在本申请实施例中,在一定的单位时间段内,在单位参数变大的情况下,相应的网络诊断数量就会变少,在单位参数变小的情况下,相应的网络诊断数量就会变多,所以基于此,服务器根据诊断结果调整单位参数,进而,控制终端设备上报的诊断结果的数量,避免诊断结果数量超出服务器存储容量或处理能力的情况,进而也能够在一定程度上避免服务器侧的处理压力过大,有利于服务器的稳定运行。

基于上述各实施例的内容,作为一种可选实施例:根据诊断结果,调整单位参数包括:

根据当前终端设备的诊断结果,调整终端设备对应的单位参数;或者,

根据至少两个终端设备的诊断结果,调整至少两个终端设备对应的单位参数。

可选地,由于发送诊断结果至服务器的终端设备的数量可以是至少一个,所以在进行单位参数的调整时,在服务器接收的是一个终端设备的诊断结果的情况下,服务器就只针对当前终端设备发送的诊断结果调整单位参数。

例如,在服务器接收到某一个终端设备的诊断结果后,可以只针对该终端设备对应的单位参数进行调整。例如,服务器前后分别接收到终端设备a,终端设备b两个终端设备的诊断结果时,分别对终端设备a和终端设备b对应的单位参数进行调整,然后将针对终端设备a调整的单位参数发送至终端设备a,将针对终端设备b调整的单位参数发送至终端设备b,终端设备a,终端设备b分别根据接收的调整后的单位参数进行网络诊断。

如果服务器接收的是多个终端设备的共同诊断结果的情况下,服务器就针对这个共同的诊断结果调整单位参数,然后将调整后的单位参数分别发送至各个终端设备。

例如,在服务器接收到来自于多个终端(比如终端设备a,终端设备b)的共同诊断结果后,可以根据该共同诊断结果调整单位参数,得到调整后的单位参数,将调整后的单位参数分别发送到终端设备a,终端设备b,将调整后的单位参数作为终端设备a或终端设备b进行网络诊断的调整参数。以上一种情况举例对比说明。此时,服务器可以接收到终端设备a的诊断结果与终端设备b的诊断结果,则服务器可以基于这些诊断结果,来对终端设备a与终端设备b的网络诊断进行统一调整。

基于上述各实施例的内容,作为一种可选实施例:服务器根据诊断结果,调整单位参数,包括:

确定在预设时间段内接收到诊断结果的目标数量;

根据目标数量、预期数量及预设误差值,调整单位参数,其中,预期数量用于指示在单位时间段内接收诊断结果的预期数值,预设误差值用于指示目标数量与预期数量之间的最大误差数值。

可选地,确定服务器在预设时间段内接收到的诊断结果的目标数量,其中,该目标数量是指在预设时间段内,长时间处于弱网状态的终端设备的数量。作为一个实施例,这里的预设时间段可以以天为单位进行统计。

根据目标数量、预期数量及预设误差值,调整单位参数,其中,预期数量用于指示接收目标数量的预期数值,将其作为服务器统计投递目标数量是否符合预期的判断标准;预设误差值用于指示目标数量与预期数量之间的最大误差数值。举例:设置预期数量为50,服务器接收到终端设备发送来的诊断结果的目标数量为51,预设误差值是5%。此时比较50与51的差值(2%)与预设误差值5%的大小,当小于预设误差值5%,则不需要对单位参数做数值调整,当大于预设误差值5%,则需要对单位参数做数值调整。

另外,服务器可以将该调整后的单位参数发送至终端设备。

示例性的一种实施例中,服务器可以是通过云控制器,将调整后的单位参数实时同步给终端设备,或者,也可以通过发送消息的方式通知到终端设备。其中,云控制器是一个第三方设备,介于终端设备和服务器之间,该云控制器具备实现终端设备和服务器间转发各个消息的功能,采用不同的wifi连接方式,不限网络有无,不限地域国界,任何地点和条件都可以实现数据的传输,实现远程故障诊断。

通过本申请实施例,服务器可以通过动态调整单位参数数值,以控制终端设备发出网络故障诊断的次数,以防止出现诊断结果投递到服务器的数量过多,超出服务器所能承受的存储容量的问题。

基于上述各实施例的内容,作为一种可选实施例:服务器根据目标数量、预期数量及预设误差值,调整单位参数包括:

在目标数量与预期数量之间的差值大于预设误差值,且目标数量大于预期数量的情况下,增大单位参数;或者,

在目标数量与预期数量之间的差值大于预设误差值,且目标数量小于预期数量的情况下,减小单位参数。

可选地,在目标数量与预期数量之间的差值大于预设误差值,且目标数量大于预期数量的情况下,为了得到更合适的单位参数,需要采用反复逼近的手段多次计算,得合适数值。例如,可以采用二分类查找(折半查找)的方法增大单位参数(k)的数值,可以将k值调大到现有值的1.5倍或者将k值增加一个固定(或非固定)数值等。

在调整后的k值基础上再去统计投递到服务器中的诊断结果数据的数量,查看当前目标数量与预期数量间的误差是否小于预设误差值,若小于预设误差值,则不再调整k值,若不满足小于预设误差值的条件,则继续调整k值,通过多次增大k值的方式,直到调整后的目标数量与预期数量间的误差小于预设误差值。

可选地,在目标数量与预期数量之间的差值大于预设误差值,且目标数量小于预期数量的情况下,则可以采用二分类查找(折半查找)的方法减小k的数值,可以将k值减小到现有值的0.5倍或者将k值减小一个固定(或非固定)数值等。

在调整后的k值基础上再去统计投递到服务器中的诊断结果数据的数量,查看当前目标数量与预期数量间的误差是否小于预设误差值,若小于预设误差值,则不再调整k值,若不满足小于预设误差值的条件,则继续调整k值,通过多次减小k值的方式,直到调整后的目标数量与预期数量间的误差小于预设误差值。

需要说明的是,本申请实施例中的目标数量与预期数量间的误差在预设误差值的范围内时,k值为固定值,不再对其做数值的调整。

基于上述的描述,在一个具体的实施例中:首先获取预期数量,将预期数量作为判断服务器接收目标数量是否符合预期条件的标准,然后将服务器接收目标数量与预期数量进行对比,如果目标数量与预期数量之间的差值小于预设误差值,那么不再调整网络状态(即不再调整单位参数k值);如果目标数量与预期数量之间的差值大于预设误差值时,则根据目标数量与预期数量之间的数值比较,确定是调大k值还是调小k值,比如:目标数量大于预期数量的情况下,这时将k值调大到现有值的1.5倍,或者将k值增加一固定(或非固定)数值;目标数量小于预期数量的情况下,这时将k值减小到现有值的0.5倍,或者将k值减小一固定(或非固定)数值。

其中,由于服务器对终端设备可以是一对多的关系,那么在k值调整后,服务器可以将k值发送到多个与该服务器关联的终端内,终端根据k值控制投递到服务器中的诊断结果数量。

通过本申请实施例,在一定的单位时间段内,在单位参数变大的情况下,相应的网络诊断数量就会变少,在单位参数变小的情况下,相应的网络诊断数量就会变多,所以通过动态调整单位参数数值来控制投递到服务器内的诊断结果数据,进而达到诊断结果数据的数量可控的目的。

基于上述各实施例的内容,作为一种可选实施例:如图4所示,图4为本申请实施例提供的一种可选的网络诊断的整体流程示意图,具体实现步骤如下:

步骤s401:终端设备获取网络请求;

步骤s402:终端设备内的弱网检测模型进行弱网检测;

步骤s403:终端设备判断网络状态所处的网络状态是否是弱网;若是,则执行步骤s404;若否,则执行步骤s405;

步骤s404:终端设备获取进入弱网时间戳t;

步骤s405:终端设备获取退出弱网时间戳t;

步骤s406:终端设备通过时间戳序列[t,t,t,t…],计算出过去k秒内弱网的时长占比;

步骤s407:判断该占比数值是否大于预设阈值;若是,则执行步骤s408;若否,则执行步骤s401和步骤s405;

步骤s408:终端设备触发网络诊断,执行步骤s4081和步骤s4082;

步骤s4081:终端设备将诊断结果数据发送至服务器;执行步骤s409;

步骤s4082:记录诊断结果到本地日志文件;

步骤s409:服务器统计过去预设时间段内的投递目标数量;

步骤s410:服务器判断目标数量与预期数量间的数值相差是否小于预设误差值;若是,则执行步骤s411;否则,执行步骤s412;

步骤s411:k值固定;

步骤s412:服务器判断目标数量是否大于预期数量,若是,则执行步骤s413;否则,行步骤s414;

步骤s413:k值设置为当前值的1.5倍;

步骤s414:k值设置为当前值的0.5倍;

步骤s415:服务器将调整后的k值通过云端控制器发送到终端设备,执行步骤s406,根据调整后的k值计算时间戳序列在过去k秒内弱网的时长占比,进而控制向服务器投递的诊断结果数据的数量。

需要说明的是,在本申请实施例中步骤s411中“k值固定”是指:目标数量与预期数量间的数值相差小于等于预设误差值的情况下,说明当前误差较小,可以忽略不计,所以k值固定,不再做调整。

根据本申请实施例的另一个方面,还提供了一种电子设备,该电子设备在本申请实施例中是指网络诊断的终端设备,如图5所示,该电子设备包括:

确定模块501,用于当检测到终端设备的网络当前所处的网络状态为弱网状态时,确定网络在当前时刻所处的单位时间段中处于弱网状态的目标参数;

诊断模块502,与确定模块501相连,用于在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断,得到诊断结果,其中,单位参数为单位时间段中与目标参数同类型的参数;

第一发送模块503,与诊断模块502相连,用于向服务器发送诊断结果,以使得服务器基于诊断结果调整网络状态。

通过上述模块,在检测到终端设备的网络当前所处的网络状态为弱网状态时,确定出网络在当前时刻所处的单位时间段中处于弱网状态的目标参数,将确定的目标参数与单位参数的比值与预设阈值进行比较,进而确定当前终端设备的网络是否满足触发网络诊断的条件,进而及时得到网络诊断结果,不再需要用户主动触发网络诊断,进而达到专业技术人员可以快速找到网络故障问题,及时解决用户网络问题的目的。

基于上述各实施例的内容,作为一种可选实施例:目标参数为网络处于弱网状态的时长,单位参数为单位时间段的总时长。

基于上述各实施例的内容,作为一种可选实施例:目标参数为网络持续处于弱网状态的检测次数,单位参数为单位时间段内的总检测次数。

基于上述各实施例的内容,作为一种可选实施例:单位参数是服务器基于诊断结果确定的。

基于上述各实施例的内容,作为一种可选实施例:该电子设备包括:

获取曲线模块,用于利用弱网检测模型,实时检测终端设备的网络状态,得到终端设备的网络状态曲线。

基于上述各实施例的内容,作为一种可选实施例:该电子设备包括:

获取请求模块,用于获取页面访问请求;

检测模块,用于根据页面访问请求,检测终端设备的网络状态。

基于上述各实施例的内容,作为一种可选实施例:该电子设备包括:

存储模块,用于在对网络进行网络诊断之后,将诊断结果存储到终端设备的本地日志,以使得诊断结果随本地日志上报服务器。

根据本申请实施例的又一个方面,还提供了一种电子设备,在本申请实施例中,该电子设备是一个网络诊断的服务器,如图6所示,该电子设备包括:

接收模块601,用于接收来自于终端设备的诊断结果,其中,诊断结果是终端设备在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断得到的,其中,目标参数是终端设备在检测到终端设备的网络当前所处的网络状态为弱网状态时,确定网络在当前时刻所处的单位时间段中处于弱网状态的目标参数;

第一调整模块602,与接收模块601相连,用于根据诊断结果,调整网络状态。

通过上述模块,服务器接收到终端设备发送来的诊断结果,该诊断结果是终端设备在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断得到的,然后服务器在接收到该网络诊断结果后,根据该网络诊断结果对网络进行及时的调整。

基于上述各实施例的内容,作为一种可选实施例:该电子设备还包括:

第二调整模块,用于根据诊断结果,调整单位参数;单位参数包括:单位时间段的时长和/或单位时间段内的总检测次数;

第二发送模块,用于向终端设备发送调整后的单位参数,以使得终端设备根据调整后的单位参数进行网络诊断。

基于上述各实施例的内容,作为一种可选实施例:第一调整模块包括:

第一调整单元,用于根据当前终端设备的诊断结果,调整单位参数或者根据至少两个终端设备的诊断结果,调整各个终端设备的单位参数。

基于上述各实施例的内容,作为一种可选实施例:第一调整模块包括:

确定单元,用于确定在预设时间段内接收到诊断结果的目标数量;

第二调整单元,用于根据目标数量、预期数量及预设误差值,调整单位参数,其中,预期数量用于指示在单位时间段内接收诊断结果的预期数值,预设误差值用于指示目标数量与预期数量之间的最大误差数值。

基于上述各实施例的内容,作为一种可选实施例:第二调整单元包括:

增大子单元,用于在目标数量与预期数量之间的差值大于预设误差值,且目标数量大于预期数量的情况下,增大单位参数;或者,

减小子单元,用于在目标数量与预期数量之间的差值大于预设误差值,且目标数量小于预期数量的情况下,减小单位参数。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例网络诊断的方法。

根据本申请实施例的又一个方面,还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,

存储器703,用于存放计算机程序;

处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:当检测到终端设备的网络当前所处的网络状态为弱网状态时,确定网络在当前时刻所处的单位时间段中处于弱网状态的目标参数;在目标参数与单位参数的比值超过预设阈值的情况下,对网络进行网络诊断,得到诊断结果,其中,单位参数为单位时间段中与目标参数同类型的参数;向服务器发送诊断结果,以使得服务器基于诊断结果调整网络状态。

上述终端提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的网络诊断的方法。

在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的网络诊断的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

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