一种移动应用程序端网络检测系统的制作方法

文档序号:12692617阅读:386来源:国知局

本发明涉及网络信息处理领域,具体地,涉及一种移动应用程序端网络检测系统。



背景技术:

随着科技的发展,无线网络逐渐成为人们进行通信的重要方式,如无线wifi等,但是无线网络经常存在虚假网络,导致用户无法真正的利用网络进行正常通信。

现有的移动端网络检测方法功能模块仅能判断出手机有无连接建立,无法判断真实的网络状况,仅靠网络请求超时来提示用户。如:

1.手机连接某处的公用wifi,如电信移动等运营商的免费Wifi,上网前需要网页鉴权,鉴权成功后方可上网,但本地连接已经建立;

2.手机本地网络显示已连接,但连接状态糟糕,严重超时、掉包,实际无法连接到服务器;

3.手机连接的路由设备本身没有连接外网。

4.廋客户端App在网络检测不准确时会极大程度影响用户体验。

综上所述,本申请发明人在实现本申请发明技术方案的过程中,发现上述技术至少存在如下技术问题:

在现有技术中,现有的移动设备存在仅能够判断无线网络是否连接,无法判断网络的真实连接状况的技术问题。



技术实现要素:

本发明提供了一种移动应用程序端网络检测系统,解决了现有的移动设备存在仅能够判断无线网络是否连接,无法判断网络的真实连接状况的技术问题,实现了利用移动端网络检测系统能够对移动设备连接的网络进行检测,能够准确获得连接网络的真实信息的技术效果。

为解决上述技术问题,本申请提供了一种移动应用程序端网络检测系统,所述系统包括:

网络检测模块、有限状态机管理模块、通用网络检测模块、实时连接检测模块、本地连接检测模块,其中:

应用程序启动后,网络检测模块启动并开启网络预检测,启动有限状态机管理模块,网络检测模块向应用程序反馈网络变化信息;

有限状态机管理模块启动后调用通用网络检测模块及实时连接检测模块协同工作,并剔除重复的网络状态变化信息,权衡应用程序网络检测实时性及应用程序在运行时的被测设备系统开销,然后将通用网络检测模块和实时连接检测模块的检测结果反馈给网络检测模块;

通用网络检测模块启动后,首先调用本地连接检测模块读取被测设备系统的本地网络连接状态,并向被测设备系统发送监听本地连接网络状态变化的请求,在本地连接状态变化时实时将状态进行处理并反馈至有限状态机管理模块;

实时连接检测模块启动后,首先载入探测策略及当前被测设备系统的IP地址,并向指定Host地址发起首次探测操作,然后根据策略指定间隔时间反复进行探测操作获得当前网络状态信息,并将当前网络状态信息反馈至有限状态机管理模块。

进一步的,实时连接检测模块采用分布式探测,通过抓包工具进行检测。

其中,通用网络检测模块是基于本地连接的检测,系统开销可忽略不计。实时连接检测模块默认情况下采用分布式探测方案,对于性能的开销也极小,通过抓包工具检测,前台运行1小时仅额外消耗2kb流量。默认频率对服务器的负载也是极小。

进一步的,网络检测模块启动并载入配置文件,根据配置文件开启网络预检测,并启动有限状态机管理模块,并使用公开API向应用程序进行反馈网络变化状态及情况。

本地网络连接通过:手机系统的WiFi/流量开关的开启状态为开启。

网络实时连接通过:指定Host服务器是否能正确收到App网络检测模块发送的ICMP包并反馈正确回应数据。

默认配置文件策略如下:

默认开启本地网络检测及网络实时性检测;

本地网络检测为启动时检测,并向系统发出本地网络状态监听请求;

网络实时性检测默认为每2分钟1次。

有限状态机在默认配置文件要求下,大致业务逻辑为:

默认的网络判断优先权重为:本地网络检测权重大于网络实时性检测;App启动1秒后且本地连接状态检测通过时,立即进行一次网络实时性检测;

优先本地网络状态检测,在本地网络状态检测通过的情况下,根据时间间隔策略选择是否进行网络实时性检测;

在本地网络状态变化时(WiFi切换到流量或反之),优先进行一次网络实时性检测,以确保当前网络连接质量;

本地网络检测通过,但实时网络检测未收到指定Host服务器的正确回应数据,根据ICMP协议约定的类型,判断问题所在。

进一步的,实时连接检测模块使用Internet控制报文协议向指定Host主机传递控制消息,控制消息为网络本身的消息包括:网络通不通、主机是否可达、路由是否可用。

进一步的,实时连接检测模块启动后,根据当前被测设备系统IP协议类型自动选择不同的ICMP协议。

进一步的,所述载入探测策略及当前被测设备系统的IP地址,具体为:

使用因特网包探索器(Ping)发送一个ICMP(Internet Control Messages Protocol即因特网信报控制协议)回声请求消息给目的地并报告是否收到所希望的ICMP echo(ICMP回声应答)用来检查网络是否通畅或者网络连接速度.利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。

进一步的,所述在本地连接状态变化时实时将状态进行处理,具体为:

根据所有的手机端操作系统,各厂商均支持监听网络状态变化;检测模块在启动时进行本地网络状态的检测,并向系统申请监听网络状态变化的权限;在本地连接状态变化时,会收到系统发送的变化通知;此时会优化进行一次网络实时性检测。

本申请提供的一个或多个技术方案,至少具有如下技术效果或优点:

在伪链接下,缩短用户请求超时时间(通常30秒),且不改变现有的网络请求协议,也不用额外使用Socket长连接进行保活或问询处理,极大提升了检测的准确性,提高了用户体验。

进一步的,在实现性与系统开销上达到了一个平衡,功能独立低耦合,并且支持IPv6协议。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定;

图1是本申请中移动应用程序端网络检测系统的组成示意图。

具体实施方式

本发明提供了一种移动应用程序端网络检测系统,解决了现有的移动设备存在仅能够判断无线网络是否连接,无法判断网络的真实连接状况的技术问题,实现了利用移动端网络检测系统能够对移动设备连接的网络进行检测,能够准确获得连接网络的真实信息的技术效果。

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

请参考图1,本申请提供了一种移动应用程序端网络检测系统,所述系统包括:

网络检测模块、有限状态机管理模块、通用网络检测模块、实时连接检测模块、本地连接检测模块,其中:

应用程序启动后,网络检测模块启动并开启网络预检测,启动有限状态机管理模块,网络检测模块向应用程序反馈网络变化信息;

有限状态机管理模块启动后调用通用网络检测模块及实时连接检测模块协同工作,并剔除重复的网络状态变化信息,权衡应用程序网络检测实时性及应用程序在运行时的被测设备系统开销,然后将通用网络检测模块和实时连接检测模块的检测结果反馈给网络检测模块;

通用网络检测模块启动后,首先调用本地连接检测模块读取被测设备系统的本地网络连接状态,并向被测设备系统发送监听本地连接网络状态变化的请求,在本地连接状态变化时实时将状态进行处理并反馈至有限状态机管理模块;

实时连接检测模块启动后,首先载入探测策略及当前被测设备系统的IP地址,并向指定Host地址发起首次探测操作,然后根据策略指定间隔时间反复进行探测操作获得当前网络状态信息,并将当前网络状态信息反馈至有限状态机管理模块。

通用网络检测模块提供普通方式的检测支持,此模块检测手机的本地连接的开启状态。实时连接检测模块会在指定策略模式下向指定服务器发起问询,若能收到回应,则认为服务器可达。两大模块服从有限状态机模块的管理及调配,可进行协作或单独进行工作。

通用网络检测模块是基于本地连接的检测,系统开销可忽略不计。实时连接检测模块默认情况下采用分布式探测方案,对于性能的开销也极小,通过抓包工具检测,前台运行1小时仅额外消耗2kb流量。默认频率对服务器的负载也是极小。

在App启动后,网络检测模块在全局范围内启动,并载入配置文件,根据配置文件开启网络预检测并启动有限状态机管理模块,并使用公开API向App进行反馈网络变化状态及情况。

有限状态机管理模块介入后,调用通用网络检测模块及实时连接检测模块协同工作,有限状态机管理模块的主要作用剔除了重复的状态变化,并通过可配置的定时策略等业务逻辑优化,权衡了实时性和开销,然后将检测结果反馈给网络模块。

通用网络检测模块与实时连接检测模块可单独调用也可协同工作,并实时将检测结果返回至有限状态机。

通用网络检测模块启动后,先读取手机系统的本地网络连接状态并向手机系统发送监听本地连接网络状态变化的请求,在本地连接状态变化时实时将状态根据策略进行处理并反馈。

实时连接检测模块的工作方式是使用Internet控制报文协议(IMCP)向指定Host主机传递控制消息,控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

实时连接检测模块启动后会根据当前手机系统IP协议类型(IPv4/IPv6),自动选择不同的ICMP协议(IMCPv4/IMCPv6),以确保使用检测模块的App在IPv6模式下能正确的进行网络检测。

实时连接检测模块启动后,首先载入探测策略及当前手机系统的IP地址,并向指定Host地址发起首次探测操作,此后根据策略指定间隔时间反复进行探测操作,发起探测操作时,实时连接检测模块向指定Host发送一个IMCP数据包,实时连接检测模块会在策略指定的回应时间内(默认10秒)等待指定Host的回应,并根据回应报文确定当前网络状态。

本申请提供的一个或多个技术方案,至少具有如下技术效果或优点:

在伪链接下,缩短用户请求超时时间(通常30秒),且不改变现有的网络请求协议,也不用额外使用Socket长连接进行保活或问询处理,极大提升了检测的准确性,提高了用户体验。

进一步的,在实现性与系统开销上达到了一个平衡,功能独立低耦合,并且支持IPv6协议。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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