监测应用的网络性能的方法、装置及移动终端与流程

文档序号:12751903阅读:157来源:国知局
监测应用的网络性能的方法、装置及移动终端与流程

本发明涉及软件监测领域,尤其涉及监测应用的网络性能的方法、装置及移动终端。



背景技术:

随着移动互联网技术的发展,移动终端的APP被大量开发。用户也越来越习惯于通过移动终端的APP进行信息浏览、购物或者办公等各种活动。移动终端APP的网络性能对用户体验度有重大影响。

目前,为了测试移动终端APP的网络性能,测试者可以通过获取关于APP的网络访问日志来判断APP的网络性能。然而,基于获取日志的监测方案只适合APP的开发调试阶段,而无法收集真实用户使用APP时的网络性能数据。

因此,本发明提出了一种新的监测应用的网络性能的技术。



技术实现要素:

为此,本发明提供一种新的监测应用的网络性能的方案,有效的解决了上面至少一个问题。

根据本发明的一个方面,提供一种监测应用的网络性能的方法,适于在移动终端的被监测应用中执行。该方法包括下述步骤。采集被监测应用的每条网络请求消息中至少一部分和相应的响应消息中至少一部分,并将所采集的每条网络请求消息中至少一部分连同相应的响应消息中至少一部分、存储为消息队列中一条监测信息。按照时间顺序,每隔预定时长判断消息队列中每条监测信息对应的网络访问地址是否异常,并基于预定分类类型来分类所确定的网络访问地址正常的监测信息。将所分类的监测信息传输到监测服务器。

可选地,根据本发明的监测应用的网络性能的方法还包括删除所确定网络访问地址异常的监测信息。预定分类类型包括:网络错误、http响应异常和http响应正常。

可选地,在根据本发明的监测应用的网络性能的方法中,采集被监测应用的每条网络请求消息中至少一部分和相应的响应消息中至少一部分的操作包括下述步骤。采集每条网络请求消息中http请求报文头信息、当前请求时间、网络访问地址、请求方式、网络连接方式和网络运营状态。采集相应的响应消息中响应报文头信息、访问结束时间和状态码。

可选地,根据本发明的监测应用的网络性能的方法还包括下述步骤。根据网络访问地址分类所述网络访问地址正常的监测信息,并统计每个网络访问地址对应的监测信息以获取相应的性能指标。将所获取的性能指标传输到所述监测服务器。其中,所获取的性能指标包括所统计每个网络访问地址的访问次数、单次访问时长的极大值、单次访问时长的极小值和访问总时长。

根据本发明又一个方面,提供一种监测应用的网络性能的装置,适于驻留在移动终端的应用中。该装置包括采集单元、处理单元和传输单元。

采集单元适于采集被监测应用的每条网络请求消息中至少一部分和相应的响应消息中至少一部分,并将所采集的每条网络请求消息中至少一部分连同相应的响应消息中至少一部分、存储为消息队列中一条监测信息。处理单元适于按照时间顺序,每隔预定时长判断消息队列中每条监测信息对应的网络访问地址是否异常,并基于预定分类类型来分类所确定的网络访问地址正常的监测信息。传输单元适于将所分类的监测信息传输到监测服务器。

根据本发明又一个方面,提供一种移动终端,包括一个或多个驻留有根据本发明的网络性能监测装置的应用。

根据本发明的监测应用的网络性能的技术方案,可以对应用运行过程中所涉及的网络访问过程进行监测,以持续获取关于网络访问的监测信息(例如请求和响应消息中至少一部分)。特别是,本发明的监测方案,可以批量分类多条监测信息,并向监测服务器提供经过分类的监测信息。另外,本发明的监测方案可以按照网络访问地址对监测信息进行分类并统计相应的性能指标。这样,本发明的监测方案可以向监测服务器动态提供最新的性能指标值(例如,每个网络访问地址的访问次数、单次访问时长的极大值、单次访问时长的极小值和访问总时长等)。

综上,本发明的监测方案可以持续监测真实用户使用应用访问网络时的性能数据。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一些实施列的移动终端100的结构框图;

图2示出了根据本发明一些实施例的监测应用的网络性能的装置200的示意图;

图3示出了根据本发明一些实施例的监测应用的网络性能的方法300的流程图;以及

图4示出了根据本发明一些实施例的监测应用的网络性能的方法400的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1是移动终端100的结构框图。移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。

存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。

例如,运动传感器110、光线传感器112和距离传感器114可以耦合到外围接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。

相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。

音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。

存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器150可以存储操作系统172,例如Android、iOS或是Windows Phone之类的操作系统。该操作系统172可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器150还可以存储应用174。在移动设备运行时,会从存储器150中加载操作系统172,并且由处理器104执行。应用174在运行时,也会从存储器150中加载,并由处理器104执行。应用174运行在操作系统172之上,利用操作系统172以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。应用174可以是独立于操作系统提供的,也可以是操作系统自带的。

一般而言,应用174中每个应用的网络性能会在很大程度上影响用户体验度。本发明提出了一种监测应用的网络性能技术方案,即在需要被监测的应用中集成一个监测装置(也可以称这个装置为探针,agent)。例如,图1中示出的被监测的应用中驻留有一个监测网络性能的装置200。本发明的装置200被配置为采集被监测的应用在访问网络过程中的各种网络性能数据。

需要说明的是,应用在访问网络时通常需要调用操作系统(172)或者第三方提供的网络通信单元。换言之,应用通过网络通信单元发送网络请求消息。网络通信单元接收到相应的响应消息时通知该应用。在根据本发明一个实施例中,通过JAVA字节码改写技术(例如Java ASM),探针可以被集成到被监测的应用中。其中,ASM相关技术细节请参见:http://asm.ow2.org,这里不再赘述。更具体而言,本发明的实施例可以被配置为将被监测应用的网络接口替换为包含能够收集网络数据的接口。在此基础上,探针可以获取到被监测应用访问网络过程中的网络数据。这样,本发明的探针可以在用户使用被监测应用时,监测该应用在真实使用环境下的网络性能。下面结合图2对本发明的监测应用的网络性能的装置200进一步示例性说明。

图2示出了根据本发明一些实施例的监测应用的网络性能的装置200的示意图。该装置200适于驻留在被监测应用中。换言之,装置200可以被认为是被监测应用的组件。

如图2所示,装置200包括采集单元210、处理单元220和传输单元230。其中,采集单元210适于采集被监测应用的每条网络请求消息中至少一部分和相应的响应消息中至少一部分。换言之,采集单元210可以从每条网络请求消息中以及本次请求对应的响应消息中,采集网络性能相关数据。进一步,采集单元210可以将所采集的每条网络请求消息中至少一部分连同相应的响应消息中至少一部分存储为消息队列中一条监测信息。在根据本发明一个实施例中,采集单元210可以采集每条网络请求消息中http请求报文头信息、当前请求时间、网络访问地址、请求方式、网络连接方式和网络运营状态。另外,采集单元210还可以采集响应消息中响应报文头信息、响应数据长度、访问结束时间和状态码。需要说明的是,监测信息所包含数据并不限于上述实施例所示,也可以被配置为包括比上述实施例更多或更少的网络数据。在根据本发明又一个实施例中,每条监测信息对应于一个访问事务。其中,监测信息中当前请求时间对应这个访问事务的开启时间。监测信息中访问结束时间对应这个访问事务的结束时间。换言之,采集单元210可以对一个访问事务的整个执行过程进行监测,并获取相应的监测信息。

另外,上文中消息队列可以存放多条监测信息。这里,消息队列可以被配置为多种公知的数据结构,本发明对此不做限制。在此基础上,处理单元220可以选择批量处理消息队列中监测信息。在根据本发明一个实施例中,处理单元220例如可以按照预定周期(时长)来处理监测信息。例如,预定周期可以为2s,但不限于此。相应地,处理单元220可以每2秒处理一次消息队列中监测信息。在根据本发明又一个实施例中,处理单元220可以监测消息队列中监测信息的数量,并在数量达到阈值(例如20条)时处理其中的监测信息。在根据本发明又一个实施例中,传输单元230被配置为包括一个定时模块(未示出)。在每次定时到达时,传输单元230可以指示处理单元220处理消息队列中监测信息。如上所述,通过批量处理消息队列中监测信息,处理单元220可以避免太频繁的处理操作。下面对处理单元220的具体操作进行说明。

处理单元220适于判断消息队列中每条监测信息对应的网络访问地址是否异常。进一步,处理单元220可以基于预定分类类型来分类所确定的网络访问地址正常的监测信息。在根据本发明一个实施例中,处理单元220首先判断网络访问地址是否为空。如果该地址为空,处理单元220可以确定该网络访问地址异常,并删除相应的监测信息。另外,处理单元220确定网络访问地址格式错误,也可以确定该地址异常,并删除相应的监测信息。这里,网络访问地址例如可以是IP地址或域名等格式。

在确定网络访问地址正常时,处理单元220可以按照预定分类类型来分类访问地址正常的监测信息。取决于对网络数据的分类需求,本发明的实施例可以采用多种分类规则将监测信息进行分组。在根据本发明一个实施例中,预定分类类型可以包括网络错误、http响应异常和http响应正常。在该实施例中,分类类型是根据响应状态码确定的。例如,处理单元220可以将响应状态码大于1000的监测信息提取到网络错误对应集合中。处理单元220将响应状态码大于400而小于1000的监测信息提取到http响应异常对应集合中。响应码为200的监测信息提取到http响应正常的集合中。另外,处理单元220每次完成分类操作后,可以清空消息队列,以便采集单元210继续将新的监测信息存储到该消息队列中。

对于上述经过分类的监测信息,传输单元230可以将其传输到监测服务器。这样,监测服务器可以根据所接收的监测信息,对APP在实际使用时的网络性能进行后续分析。

另外,本发明的处理单元230还可以被配置为根据网络访问地址分类所述网络访问地址正常的监测信息,并统计每个网络访问地址对应的监测信息以获取相应的性能指标。具体而言,用于分类的网络访问地址例如可以是一个主网址。处理单元230可以将包含该主网址的访问地址所对应的监测信息分类到一个集合中。在此基础上,处理单元230可以统计对该主网址的访问次数、单次访问时长的极大值、单次访问时长的极小值和访问总时长等。另外,本发明的处理单元230也可以统计并计算更多种类的性能指标,本发明对此不做限制。需要说明的是,处理单元230可以被配置为对每个预定时长内的监测信息进行统计。另外,处理单元230也可以被配置为在每隔预定时长处理消息队列中监测信息后,更新每个网络访问地址对应的性能指标值。该更新的性能指标值是对多个预定时长内监测信息的统计结果。相应地,传输单元230可以将性能指标传输到监测服务器。

综上,根据本发明的装置200,可以对应用运行过程中所涉及的网络访问过程进行监测,以持续获取关于网络访问的监测信息(例如请求和响应消息中至少一部分)。特别是,本发明的装置200,可以批量分类多条监测信息,并向监测服务器提供经过分类的监测信息。另外,本发明的装置200可以按照网络访问地址对监测信息进行分类并统计相应的性能指标。这样,本发明的监测方案可以向监测服务器动态提供最新的性能指标值(例如,每个网络访问地址的访问次数、单次访问时长的极大值、单次访问时长的极小值和访问总时长等)。

图3示出了根据本发明一些实施例的监测应用的网络性能的方法300的流程图。该方法300适于在移动终端的被监测应用中执行。

如图3所示,方法300始于步骤S310。在步骤S310中,采集被监测应用的每条网络请求消息中至少一部分和相应的响应消息中至少一部分,并将所采集的每条网络请求消息中至少一部分连同相应的响应消息中至少一部分、存储为消息队列中一条监测信息。根据本发明一个实施例,在步骤S310中,采集每条网络请求消息中http请求报文头信息、当前请求时间、网络访问地址、请求方式、网络连接方式和网络运营状态。另外,在步骤S310中采集相应的响应消息中响应报文头信息、访问结束时间和状态码。

对于存储到消息队列中的监测信息,方法300执行步骤S320。在步骤S320中,按照时间顺序,每隔预定时长判断消息队列中每条监测信息对应的网络访问地址是否异常。在步骤S320中确定监测信息中网络访问地址正常时,方法300执行步骤S330。在步骤S330中,基于预定分类类型来分类所确定的网络访问地址正常的监测信息。根据本发明一个实施例,预定分类类型包括网络错误、http响应异常和http响应正常,但不限于此。

对于经过分类的监测信息,方法300适于执行步骤S340。在步骤S340中,将所分类的监测信息传输到监测服务器。方法300更具体的实施方式请参见上文中装置200的说明,这里不再赘述。

图4示出了根据本发明一些实施例的监测应用的网络性能的方法400的流程图。该方法400适于在移动终端的被监测应用中执行。

如图4所示,方法400包括步骤S410、S420、S430和S440。这里,步骤S410-S440分别与上文中步骤S310-S340一致,这里不再赘述。

另外,在步骤S420中确定监测信息中网络访问地址异常时,方法400执行步骤S450。在步骤S450中,删除所确定网络访问地址异常的监测信息。

另外,方法400还包括步骤S460和S470。在步骤S460中,根据网络访问地址分类所述网络访问地址正常的监测信息,并统计每个网络访问地址对应的监测信息以获取相应的性能指标。根据本发明一个实施例,步骤S460中获取的性能指标包括所统计每个网络访问地址的访问次数、单次访问时长的极大值、单次访问时长的极小值和访问总时长,但不限于此。

在步骤S470中,将所获取的性能指标传输到监测服务器。需要说明的是,在根据本发明的一些实施例中,步骤S470和步骤S440可以被合并执行,本发明对此不做限制。另外,方法400更具体的实施方式请参见上文中关于装置200的说明,这里不再赘述。

A10、如A7-A9中任一项所述的装置,其中,所述预定分类类型包括:网络错误、http响应异常和http响应正常。A11、如A7-A10中任一项所述的装置,其中,所述处理单元还适于根据网络访问地址分类所述网络访问地址正常的监测信息,并统计每个网络访问地址对应的监测信息以获取相应的性能指标;所述传输单元还适于将所获取的性能指标传输到所述监测服务器。A12、如A11所述的装置,其中,所获取的性能指标包括:所统计每个网络访问地址的访问次数、单次访问时长的极大值、单次访问时长的极小值和访问总时长。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

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