一种网络检测方法与装置与流程

文档序号:11778202阅读:263来源:国知局
一种网络检测方法与装置与流程

本发明涉及互联网技术领域,尤其涉及一种网络检测方法与装置。



背景技术:

随着互联网技术的不断发展,越来越多的用户使用电脑、手机等终端进行上网冲浪,例如,在线观影、在线聊天、在线直播等。

一旦用户上网过程中出现网络连接故障,必然导致视频播放中断、消息发送失败、直播中断等问题,若不能及时解决,也必然会导致用户体验下降。现有技术是通过手工排查来定位问题,这种方法不仅会耗费大量资源,还会耗费大量时间,难以做到快速定位以快速解决网络连接故障问题。



技术实现要素:

本发明提供一种网络检测方法与装置,目的在于能够快速定位网络连接故障原因,以及时解决问题。

为了解决上述技术问题,本发明提供一种网络检测方法,包括:

根据终端上当前需连接网络的应用程序,确定所述应用程序所涉及的网络协议;

采用所述网络协议对应的验证机制,验证所述应用程序与所述应用程序的服务端的网络连通性以得到针对所述网络协议的第一验证结果;

显示和/或上传所述第一验证结果。

可选地,所述应用程序所涉及的网络协议为多个;以及

所述方法还包括:

按照多个所述网络协议的使用顺序,确定各所述网络协议的验证顺序;

相应的,采用所述网络协议对应的验证机制,验证所述应用程序与所述应用程序的服务端的网络连通性以得到针对所述网络协议的第一验证结果,包括:

依据所述验证顺序,顺次采用各所述网络协议对应的验证机制,验证所述应用程序与所述应用程序的服务端的网络连通性以得到各网络协议对应的第一验证结果。

可选地,所述方法,还包括:

监听所述应用程序与所述应用程序的服务端之间的网络连接状况;

若监听到所述应用程序与所述应用程序的服务端之间网络连接失败,则启动验证所述应用程序与所述应用程序的服务端的网络连通性的过程。

可选地,若验证所述应用程序与所述应用程序的服务端的网络连通性得到的验证结果为正常,则获取所述终端信息;

对所述终端信息进行验证以得到针对所述应用程序的第二验证结果;

显示和/或上传所述第二验证结果。

可选地,所述终端信息包括:操作系统信息、终端型号、终端品牌中的一项或多项。

可选地,所述方法,还包括:

在用户界面上显示验证控件;

响应于所述验证控件上的触控操作,启动验证所述应用程序与所述应用程序的服务端的网络连通性的过程。

为了解决上述技术问题,本发明还提供一种网络检测装置,所述装置,包括:

第一确定模块,用于根据终端上当前需连接网络的应用程序,确定所述应用程序所涉及的网络协议;

第一验证模块,用于采用所述网络协议对应的验证机制,验证所述应用程序与所述应用程序的服务端的网络连通性以得到针对所述网络协议的第一验证结果;

第一处理模块,用于显示和/或上传所述第一验证结果。

本发明实施例提供的技术方案是预先为应用程序所涉及的网络协议配置好对应的验证机制,在进行应用程序与所述应用程序对应的服务端的网络连通性的检测时,就无需通过手工排查的方式查找导致网络连接出现故障的原因,只需通过预置的验证机制来验证应用程序与所述应用程序对应的服务端的网络连通性,再将所述验证结果上传给后台服务器以使后台维护人员通过该验证结果可快速定位出问题所在,从而快速解决。这不仅快速解决了网络连接故障的问题,还大幅度减轻了后台修护人员的工作量。

附图说明

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

图1为本发明一实施例提供的网络检测方法的流程示意图;

图2为本发明又一实施例提供的网络检测方法的流程示意图;

图3为本发明一实施例提供的网络检测装置的结构示意图。

具体实施方式

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

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述xxx,但这些xxx不应限于这些术语。这些术语仅用来将xxx彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一xxx也可以被称为第二xxx,类似地,第二xxx也可以被称为第一xxx。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于监测”。类似地,取决于语境,短语“如果确定”或“如果监测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当监测(陈述的条件或事件)时”或“响应于监测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

图1为本发明一实施例提供的网络检测方法的流程示意图。如图1所述,该方法包括:

101、根据终端上当前需连接网络的应用程序,确定所述应用程序所涉及的网络协议;

102、采用所述网络协议对应的验证机制,验证所述应用程序与所述应用程序的服务端的网络连通性以得到针对所述网络协议的第一验证结果;

103、显示和/或上传所述第一验证结果。

其中,网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。通常,网络协议被划分为七层,自下而上依次为物理层(physicslayer)、数据链路层(datalinklayer)、网络层(networklayer)、传输层(transportlayer)、会话层(sessionlayer)、表示层(presentationlayer)、应用层(applicationlayer)。其中,网络层协议有ip(internetprotocol,网际协议)协议、icmp(internetcontrolmessageprotocol,控制报文协议)协议等,传输层协议有tcp(transmissioncontrolprotocol,传输控制协议)协议、udp(userdatagramprotocol,用户数据报协议)协议等,应用层协议有http(hypertexttransferprotocol,超文本传送协议)协议、ftp(filetransferprotocol,文件传输协议)协议等。

在实际应用中,根据应用程序的需求不同,配置不同的网络协议。例如,一些对可靠性要求高的应用程序,一般使用面向连接的tcp协议,而对于那些可靠性要求低的应用,则可以使用面向无连接的udp协议。也即是说,在一个应用程序开发完成后,应用程序连接网络所涉及的网络协议就已被配置好,因此,可以将应用程序的唯一标识与该应用程序连接网络所涉及的网络协议关联存储在该应用程序的安装包中。这样,用户在下载应用程序的安装包时,就将应用程序的唯一标识与该应用程序连接网络所涉及的网络协议的关联关系下载下来并保存在终端。

在上述步骤101中,在需要检测网络连通性时,获取终端上当前需连接网络的应用程序的唯一标识,根据唯一标识确定所述应用程序所涉及的网络协议。其中,所述唯一标识包括应用程序名称、版本号等。

在上述步骤102中,验证应用程序与所述应用程序的服务端的网络连通性,即是在验证基于所述应用程序所涉及的网络协议,应用程序与相应的服务器之间是否能成功建立起连接。由于基于不同的网络协议,客户端与服务端建立连接的方式和过程均不同。因此,可预先针对不同的网络协议建立不同的验证机制,采用各个网络协议所对应的验证机制来验证基于所述网络协议,应用程序与所述应用程序对应的服务端是否能成功建立起连接,也就是说,验证过程也即是模拟应用程序与所述服务端建立连接的过程。

将所述不同的网络协议中每一个网络协议与对应的验证机制对应存储。针对某一应用程序而言,将该应用程序所涉及的网络协议与所述网络协议对应的验证机制的对应关系添加到该应用程序的安装包中,这样用户在下载该安装包时,也就将这种对应关系下载下来并保存在终端。

在验证网络协议的连通性时,根据所述对应关系获取对应的验证机制以进行验证,最后,得到针对于所述网络协议的第一验证结果,将所述第一验证结果显示在用户界面和/或上传给后台服务器以告知后台维护人员。若所述第一验证结果表明客户端与对应的服务器成功建立起连接,则说明所述应用程序在连接网络时涉及所述网络协议的部分无异常,否则,该部分存在异常。通常,导致应用程序与对应服务端网络不连通的原因主要有:应用程序代码出现异常、应用程序所要连接的服务器宕机、服务器负载过大。通过第一验证结果,后台维护人员可直接得知导致网络不连通的具体原因。

本发明实施例提供的技术方案是预先为应用程序所涉及的网络协议配置好对应的验证机制,在进行应用程序与所述应用程序对应的服务端的网络连通性的检测时,就无需通过手工排查的方式查找导致网络不连通的原因,只需通过预置的验证机制来验证应用程序与所述应用程序对应的服务端的网络连通性,并输出所述网络协议的验证结果,将所述验证结果上传给后台服务器以使后台维护人员通过该验证结果可快速定位出问题所在,从而快速解决。这不仅快速解决了网络连接故障的问题,还大幅度减轻了后台修护人员的工作量。

图2为本发明又一实施例提供的网络检测方法的流程示意图。如图2所述,该方法包括:

201、根据终端上当前需连接网络的应用程序,确定所述应用程序所涉及的网络协议,所述应用程序所涉及的网络协议为多个。

202、按照多个所述网络协议的使用顺序,确定各所述网络协议的验证顺序。

203、依据所述验证顺序,顺次采用各所述网络协议对应的验证机制,验证所述应用程序与所述应用程序的服务端的网络连通性以得到各网络协议对应的第一验证结果。

204、显示和/或上传所述第一验证结果。

其中,所述应用程序的服务端指的是所述应用程序实现一在线功能所需连接的服务器,所述应用程序的服务端可能包括一台服务器,也可能是多台服务器。例如,直播类的应用程序,在主播进行网络视频直播时,不仅要连接网络运营商的服务器,还要连接接收主播上传的直播视频的服务器以及接收主播发送的弹幕的服务器。

在实际应用中,可定期验证网络连通性,验证周期可根据应用程序需连接的服务器的负载量来预先设置,例如,当服务器的负载量较大时,则可设置一较长的验证周期(例如,半个小时验证一次),当服务器的负载量较小时,则可设置一较短的验证周期(例如,十分钟验证一次)。

作为可选地,还可以根据实际的网络连接状况来决定是否进行网络连通性的验证。具体实现方式如下:监听所述客户端与所述应用程序的服务端之间的网络连接状况;若监听到所述客户端与所述应用程序的服务端之间网络连接失败,则启动验证所述客户端的网络连通性的过程。其中,验证所述客户端的网络连通性的过程包括步骤201~204。这样一来,就无需定期验证,不仅节省了终端与服务器的计算和资源,还提高了检测效率。

当然,还可以根据用户实际选择来启动网络连通性的验证。具体实现方式如下:在用户界面上显示验证控件;响应于所述验证控件上的触控操作,启动验证所述客户端的网络连通性的过程。例如,在用户交互界面上设置一用于启动网络连通性的验证过程的控件图标,一旦用户触控该图标区域,则启动验证所述客户端的网络连通性的过程。在实际应用中,当用户发现自己的应用程序无法正常连接服务器时,这时,用户可以通过点击该控件图标实现对网络连通性的检测。

上述步骤201和步骤204可参见上述实施例的相应内容,在此不再赘述。

根据应用场景的不同,应用程序所涉及的多个网络协议的使用顺序也会存在差异。因此,在进行网络协议连通性的验证过程中,为了提高验证的准确性,可按照多个所述网络协议的实际使用顺序,确定各网络协议的验证顺序,以该验证顺序顺次采用各网络协议对应的验证机制进行各网络协议的验证。

例如,主播用户若要使用直播类应用程序a实现在线直播,就需要使用到多个网络协议,包括http协议、socket(套接字)协议以及icmp协议,其使用顺序:先socket协议,再http协议,最后是icmp协议。当主播用户发现无法正常连接服务器、无法正常直播时,启动网络连通性的验证过程:首先,采用socket协议对应的验证机制验证基于socket协议的网络连通性,然后,采用http协议对应的验证机制验证基于http协议的网络连通性,最后,采用icmp协议对应的验证机制验证基于icmp协议的网络连通性。

可见,客户端(即安装在用户终端上的应用程序)可按照自身的网络协议需求应用本实施例提供的网络检测方法,或者,用户可按照客户端的网络协议需求制定相应规则,以使客户端按照该规则来应用本实施例提供的网络检测方法。例如,用户可通过客户端提供的规则配置界面,采用手动输入或通过选择配置界面中提供的多个规则选项的方式进行手动规则配置。

在上述各实施例和下述各实施例中,所述方法,还包括:若验证所述应用程序与所述应用程序的服务端的网络连通性得到的验证结果为正常,则获取所述终端信息;对所述终端信息进行验证以得到针对所述应用程序的第二验证结果;显示和/或上传所述第二验证结果。

其中,所述终端信息包括:操作系统信息、终端型号、终端品牌中的一项或多项。

在得到的第一验证结果显示所述应用程序与所述应用程序的服务端的网络连通性正常,则说明所涉及的网络协议的部分不存在任何问题,而是在于终端在数据格式上的不适配性。例如,用户准备通过某一应用程序在线观看视频时,发现应用程序的播放器无法正常播放,这时,该应用程序会先验证网络的连通性,若网络连通正常,再去获取终端信息,以判断导致播放异常的原因是否在于传输的数据格式不满足播放器的播放格式。因此,获取上述终端信息,可以作为故障分析的另一个依据。本发明实施例提供的技术方案是预先为应用程序所涉及的网络协议配置好对应的验证机制,在进行应用程序与所述应用程序对应的服务端的网络连通性的检测时,就无需通过手工排查的方式查找导致网络不连通的原因,只需通过预置的验证机制来验证应用程序与所述应用程序对应的服务端的网络连通性,并输出所述网络协议的验证结果,将所述验证结果上传给后台服务器以使后台维护人员通过该验证结果可快速定位出问题所在,从而快速解决。这不仅快速解决了网络连接故障的问题,还大幅度减轻了后台修护人员的工作量。

图3为本发明一实施例提供的网络检测装置的结构示意图。如图3所示,该装置包括:第一确定模块301、第一验证模块302以及第一处理模块303。

第一确定模块301,用于根据终端上当前需连接网络的应用程序,确定所述应用程序所涉及的网络协议。

第一验证模块302,用于采用所述网络协议对应的验证机制,验证所述应用程序与所述应用程序的服务端的网络连通性以得到针对所述网络协议的第一验证结果。

第一处理模块303,用于显示和/或上传所述第一验证结果。

可选地,所述应用程序所涉及的网络协议为多个。

所述装置,还包括:

第二确定模块,用于按照多个所述网络协议的使用顺序,确定各所述网络协议的验证顺序。

相应的,所述第一验证模块302,还用于:

依据所述验证顺序,顺次采用各所述网络协议对应的验证机制,验证所述应用程序与所述应用程序的服务端的网络连通性以得到各网络协议对应的第一验证结果。

可选地,所述装置,还包括:

监听模块,用于监听所述应用程序与所述应用程序的服务端之间的网络连接状况。

启动模块,用于若监听到所述应用程序与所述应用程序的服务端之间网络连接失败,则启动验证所述应用程序与所述应用程序的服务端的网络连通性的过程。

可选地,所述装置,还包括:

获取模块,用于若验证所述应用程序与所述应用程序的服务端的网络连通性得到的验证结果为正常,则获取所述终端信息。

第二验证模块,用于对所述终端信息进行验证以得到针对所述应用程序的第二验证结果。

第二处理模块,用于显示和/或上传所述第二验证结果。

可选地,所述终端信息包括:操作系统信息、终端型号、终端品牌中的一项或多项。

可选地,所述装置,还包括:

显示模块,用于在用户界面上显示验证控件。

所述启动模块,还用于响应于所述验证控件上的触控操作,启动验证所述应用程序与所述应用程序的服务端的网络连通性的过程。

本发明实施例提供的技术方案是预先为应用程序所涉及的网络协议配置好对应的验证机制,在进行应用程序与所述应用程序对应的服务端的网络连通性的检测时,就无需通过手工排查的方式查找导致网络不连通的原因,只需通过预置的验证机制来验证应用程序与所述应用程序对应的服务端的网络连通性,并输出所述网络协议的验证结果,将所述验证结果上传给后台服务器以使后台维护人员通过该验证结果可快速定位出问题所在,从而快速解决。这不仅快速解决了网络连接故障的问题,还大幅度减轻了后台修护人员的工作量。

这里需要说明的是:上述实施例提供的网络检测装置可实现上述方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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