CN110225543B - 基于网络请求数据的移动端软件质量态势感知系统及方法 - Google Patents

基于网络请求数据的移动端软件质量态势感知系统及方法 Download PDF

Info

Publication number
CN110225543B
CN110225543B CN201910462577.7A CN201910462577A CN110225543B CN 110225543 B CN110225543 B CN 110225543B CN 201910462577 A CN201910462577 A CN 201910462577A CN 110225543 B CN110225543 B CN 110225543B
Authority
CN
China
Prior art keywords
data
network
error
request
early warning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910462577.7A
Other languages
English (en)
Other versions
CN110225543A (zh
Inventor
刁子恒
姚朋
夏鸣远
戚正伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201910462577.7A priority Critical patent/CN110225543B/zh
Publication of CN110225543A publication Critical patent/CN110225543A/zh
Application granted granted Critical
Publication of CN110225543B publication Critical patent/CN110225543B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种基于网络请求数据的移动端软件质量态势感知系统,包括:网络错误收集模块、数据传输模块和态势感知与预警模块;其中:所述网络错误收集模块,设置于移动终端,用于收集移动终端发起网络请求遇到错误情形时的请求数据以及运行环境数据;所述数据传输模块,用于将网络错误收集模块发起的数据从移动终端传输到分析端;所述态势感知与预警模块,设置于分析端,用于对接收到的数据进行实时统计,获取多维的统计数据供用户参考,并用实时分析、态势感知的方法,发现数据中隐含的软件质量问题,并预警。本发明大规模获取移动端软件网络请求错误,并实时进行故障原因的态势感知,从而针对性地发现软件编码问题或者运营问题。

Description

基于网络请求数据的移动端软件质量态势感知系统及方法
技术领域
本发明涉及移动端软件技术领域。具体地,涉及一种基于网络请求数据的移动端软件质量态势感知系统及方法。
背景技术
移动应用的广泛使用是依托移动互联网发展的,许多移动应用的使用依托用户端与服务器的通信完成功能。移动互联网的不断发展,使得应用的网络通信持续增长,对其性能和可靠性都提出了更高的要求。网络错误对于这类移动应用的影响是致命的,会造成页面无法显示、数据错误、状态错误等问题,从而让软件功能失效,用户无法获取或获取错误信息,做出错误操作,严重的会引发沟通中断,事务过期,订单重复提交,信息泄露等问题。
现有的收集网络错误的系统,通常会收集手机页面打开成功率、网络请求延时、网络吞吐率等信息。对于会产生大量网络请求的应用来说,这类统计信息能反映宏观网络质量,但对解决具体的网络问题帮助甚少;且统计出结果时问题已经大量发生,解决问题滞后,从而引发用户流失。通过检索发现:公开号为CN105611507A的中国发明专利申请《一种基于安卓终端的移动网络优化数据采集方法》,利用安卓系统的SDK实时获取位置信息,信号强度信息并上传,用于对移动网络进行有效的优化,但未考虑在现有大量网络请求情况下的传输可靠性,所以无法探知软件内部的问题。
现有的进行态势感知的技术,大多从安全角度进行感知并设立指标进行分析。例如,公开号为CN103581186B的中国发明专利《一种网络安全态势感知方法及系统》,其基于的数据为流量稳定性、威胁性、脆弱性、用户行为等非直接数据,这些数据不易于获得且指标并不明确,从而影响发明用途的广泛性;公开号为CN105681303A的中国发明专利申请《一种大数据驱动的网络安全态势监测及可视化方法》,基于大数据对网络安全问题进行态势感知,涉及数据库技术的选型,而非态势感知策略的选用。而本发明配套了错误收集模块,通过直接从用户处收集到的数据,根据第一手信息处理,面向软件质量和系统质量进行态势分析,不限于安全领域。结果具有高可信度,能够对开发者提供有效的信息。
目前没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资料。
发明内容
本发明针对现有技术中存在的大规模网络请求环境中问题定位难、解决问题滞后、对严重错误反应不及时的问题,提供了一种基于网络请求数据的移动端软件质量态势感知系统及方法,基于网络请求数据,对移动端软件质量进行态势感知。本发明大规模获取移动端软件网络请求错误,并实时进行故障原因的态势感知,从而针对性地发现软件编码问题或者运营问题。
为实现上述目的,本发明采用了以下技术方案。
根据本发明的一个方面,提供了一种基于网络请求数据的移动端软件质量态势感知系统,包括:网络错误收集模块、数据传输模块和态势感知与预警模块;其中:
所述网络错误收集模块,设置于移动终端,用于收集移动终端发起网络请求遇到错误情形时的请求数据以及运行环境数据;
所述数据传输模块,用于将网络错误收集模块发起的数据从移动终端传输到分析端;
所述态势感知与预警模块,设置于分析端,用于对接收到的数据进行实时统计,获取多维的统计数据供用户参考,并用实时分析、态势感知的方法,发现数据中隐含的软件质量问题,并预警。
优选地,所述网络错误收集模块,收集移动终端发起网络请求遇到错误情形时的请求数据,包括:
获取移动终端发起网络请求时每一个阶段的时间戳,并标记该请求是否发生了错误;同时,在网络请求错误发生后请求一个公有资源,所述公有资源用于判定错误内容,并将服务终端的错误进一步上传。
优选地,所述网络错误收集模块,收集移动终端发起网络请求遇到错误情形时的运行环境数据,至少包括如下任意一项或任意多项:
-应用运行时的相关信息,包括应用的进程ID和发生网络请求的线程ID,用于判断网络错误发生时是否存在操作系统级别上的问题以及诊断移动应用潜藏的程序问题;
-应用安装的版本详细信息,包括应用的版本号和发布的应用的渠道,用于判断是否为特殊应用程序版本造成的错误、纵向比较版本更新过程中的错误以及该应用程序在各个平台上的分发版本上是否有特定错误出现;
-用户环境信息,至少包括如下任意一项或任意多项:移动网络运营商、网络类型、网络代理、物理位置信息以及设备型号;
-用户唯一识别信息,用于确认网络错误影响到的实际终端用户数量。
优选地,所述数据传输模块包括传送端和接收端;所述传送端与接收端之间采用纯文本格式进行数据传输;
所述接收端部署为分布式服务器,其中每一个服务器为一个监控节点,所述传送端就近选择接收端监控节点进行数据传输。
优选地,所述传送端设有临时存储错误数据空间,通过设置错误数据存储数量阈值和/或距离上一次传送时间间隔阈值,在错误数据满足其中一个阈值条件时进行数据传送。
优选地,所述接收端在收到了传送端的请求头时,就向其返回接收成功的信息,并将数据送入缓存队列,再从缓存队列提取数据进行检验后传输到分析端;所述缓存队列中的数据在接收端服务器上将留有副本。
优选地,所述态势感知与预警模块,分时段统计网络请求的错误类型及环境数据后存入缓存数据库;当有新数据加入时,采用增量统计的方法,得出最新的统计数据,并根据定时更新的错误信息态势感知并进行预警。
优选地,所述预警至少包括如下任意一项或任意多项内容:
流量异常预警;
用户行为异常预警;
恶意行为预警;
异常登录预警;
服务不可用预警。
优选地,所述态势感知与预警模块,还包括动态加入开发者定制的新预警策略以及自定义预警策略参数的功能单元。
根据本发明的另一个方面,提供了一种基于网络请求数据的移动端软件质量态势感知方法,包括:
网络错误收集,收集移动终端发起网络请求遇到错误情形时的请求数据以及运行环境数据;
数据传输,将网络错误收集模块发起的数据从移动终端传输到分析端;
态势感知与预警,对接收到的数据进行实时统计,获取多维的统计数据供用户参考,并用实时分析、态势感知的方法,发现数据中隐含的软件质量问题,并预警。
优选地,所述网络错误收集中,收集移动终端发起网络请求遇到错误情形时的请求数据,包括:
获取移动终端发起网络请求时每一个阶段的时间戳,并标记该请求是否发生了错误;同时,在网络请求错误发生后请求一个公有资源,所述公有资源用于判定错误内容,并将服务终端的错误进一步上传。
优选地,所述网络错误收集中,收集移动终端发起网络请求遇到错误情形时的运行环境数据,至少包括如下任意一项或任意多项:
-应用运行时的相关信息,包括应用的进程ID和发生网络请求的线程ID,用于判断网络错误发生时是否存在操作系统级别上的问题以及诊断移动应用潜藏的程序问题;
-应用安装的版本详细信息,包括应用的版本号和发布的应用的渠道,用于判断是否为特殊应用程序版本造成的错误、纵向比较版本更新过程中的错误以及该应用程序在各个平台上的分发版本上是否有特定错误出现;
-用户环境信息,至少包括如下任意一项或任意多项:移动网络运营商、网络类型、网络代理、物理位置信息以及设备型号;
-用户唯一识别信息,用于确认网络错误影响到的实际终端用户数量。
优选地,所述数据传输中,传送端与接收端之间采用纯文本格式进行数据传输;所述接收端包括多个监控节点,所述传送端就近选择接收端监控节点进行数据传输。
优选地,所述传送端设有临时存储错误数据空间,通过设置错误数据存储数量阈值和/或距离上一次传送时间间隔阈值,在错误数据满足其中一个阈值条件时进行数据传送。
优选地,所述接收端在收到了传送端的请求头时,就向其返回接收成功的信息,并将数据送入缓存队列,再从缓存队列提取数据进行检验后传输到分析端;所述缓存队列中的数据在接收端服务器上将留有副本。
优选地,所述态势感知与预警中,分时段统计网络请求的错误类型及环境数据后存入缓存数据库;当有新数据加入时,采用增量统计的方法,得出最新的统计数据,并根据定时更新的错误信息态势感知并进行预警。
优选地,所述预警至少包括如下任意一项或任意多项内容:
流量异常预警;
用户行为异常预警;
恶意行为预警;
异常登录预警;
服务不可用预警。
优选地,所述态势感知与预警中,还包括动态加入开发者定制的新预警策略以及自定义预警策略参数。
与现有技术相比,本发明具有如下的有益效果:
1、本发明在移动端软件中自动收集网络请求错误以及运行环境信息,通过智能传输策略和数据保障策略将数据可靠而高效地传输至分布式监控节点,并汇总到分析服务器实时进行态势感知,最终向软件开发者产生故障预警信息,帮助软件开发者及时发现软件缺陷以及运营故障,提升软件总体质量;
2、本发明能自动去除冗余的大规模的网络请求错误,使测试人员能及时捕捉并确认与软件质量密切相关的问题,如性能问题、安全问题等;
3、本发明产生的预警能告知开发者具体的软件缺陷,如代码bug、性能瓶颈,并在开发者尝试修复后及时检验修复是否有效;
4、本发明让运维人员监控软件线上各项指标,对诸如区域性网络基础设施故障、物理服务器崩溃等重大错误和遭受DDoS安全攻击、信息泄露等重大安全隐患做出及时反应,也可以在软件的灰度发布中提前发现软件新版本产生的问题及时修复,从而保障服务可靠性;
5、本发明适用于生产环境中所有具有网络通讯功能的移动终端,包括智能手机、平板电脑、扫码器、收款机、取票机、车载智能终端、智能家居等,以及运行在这类终端上的各类应用程序,包括各平台原生应用程序、web程序、小程序、快应用等。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例所提供的基于网络请求数据的移动端软件质量态势感知系统结构示意图;
图2为本发明实施例所提供的网络错误收集模块工作流程图;
图3为本发明实施例所提供的数据传输模块工作流程图;
图4为本发明实施例所提供的基于网络请求数据的移动端软件质量态势感知系统分布式部署架构图。
具体实施方式
下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
本发明实施例提供了一种基于网络请求数据的移动端软件质量态势感知方法,包括如下步骤:
步骤S1,网络错误收集,收集移动终端发起网络请求遇到错误情形时的请求数据以及运行环境数据;
步骤S2,数据传输,将网络错误收集模块发起的数据从移动终端传输到分析端;
步骤S3,所述态势感知与预警,对接收到的数据进行实时统计,获取多维的统计数据供用户参考,并用实时分析、态势感知的方法,发现数据中隐含的软件质量问题,并预警。
进一步地,所述网络错误收集中,收集移动终端发起网络请求遇到错误情形时的请求数据,包括:
获取移动终端发起网络请求时每一个阶段的时间戳,并标记该请求是否发生了错误;同时,在网络请求错误发生后请求一个公有资源,所述公有资源用于判定错误内容,并将服务终端的错误进一步上传。
进一步地,所述网络错误收集中,收集移动终端发起网络请求遇到错误情形时的运行环境数据,至少包括如下任意一项或任意多项:
-应用运行时的相关信息,包括应用的进程ID和发生网络请求的线程ID,用于判断网络错误发生时是否存在操作系统级别上的问题以及诊断移动应用潜藏的程序问题;
-应用安装的版本详细信息,包括应用的版本号和发布的应用的渠道,用于判断是否为特殊应用程序版本造成的错误、纵向比较版本更新过程中的错误以及该应用程序在各个平台上的分发版本上是否有特定错误出现;
-用户环境信息,至少包括如下任意一项或任意多项:移动网络运营商、网络类型、网络代理、物理位置信息以及设备型号;
-用户唯一识别信息,用于确认网络错误影响到的实际终端用户数量。
进一步地,所述数据传输中,传送端与接收端之间采用纯文本格式进行数据传输;进一步地,所述接收端包括多个监控节点,所述传送端就近选择接收端监控节点进行数据传输。
进一步地,所述传送端设有临时存储错误数据空间,通过设置错误数据存储数量阈值和/或距离上一次传送时间间隔阈值,在错误数据满足其中一个阈值条件时进行数据传送。
进一步地,所述接收端在收到了传送端的请求头时,就向其返回接收成功的信息,并将数据送入缓存队列,再从缓存队列提取数据进行检验后传输到分析端;进一步地,所述缓存队列中的数据在接收端服务器上将留有副本。
进一步地,所述态势感知与预警中,分时段统计网络请求的错误类型及环境数据后存入缓存数据库;当有新数据加入时,采用增量统计的方法,得出最新的统计数据,并根据定时更新的错误信息态势感知并进行预警。
进一步地,所述预警至少包括如下任意一项或任意多项内容:
流量异常预警;
用户行为异常预警;
恶意行为预警;
异常登录预警;
服务不可用预警。
进一步地,所述态势感知与预警中,还包括动态加入开发者定制的新预警策略以及自定义预警策略参数。
本发明实施例同时提供了一种基于网络请求数据的移动端软件质量态势感知系统,包括:网络错误收集模块、数据传输模块和态势感知与预警模块;其中:
所述网络错误收集模块,设置于移动终端,用于收集移动终端发起网络请求遇到错误情形时的请求数据以及运行环境数据;
所述数据传输模块,用于将网络错误收集模块发起的数据从移动终端传输到分析端;
所述态势感知与预警模块,设置于分析端,用于对接收到的数据进行实时统计,获取多维的统计数据供用户参考,并用实时分析、态势感知的方法,发现数据中隐含的软件质量问题,并预警。
下面结合附图对本发明上述实施例所提供的技术方案进一步详细描述。
本发明实施例为了解决现有技术中对于大规模网络请求环境中问题定位难、解决问题滞后、对严重错误反应不及时的问题,提供了一套系统来基于网络请求数据,对移动端软件质量进行态势感知。本发明实施例所提供的基于网络请求数据的移动端软件质量态势感知系统,其系统结构如图1所示。
本发明上述实施例所提供的系统,主要包括以下模块:
一、设置于移动终端(APP端)的网络错误收集模块
该模块嵌入APP(应用程序)内部,与APP业务一同运行在终端设备(例如手机),模块收集在移动端发起网络请求遇到错误情形时的请求数据以及运行环境数据。现有技术中,客户端与服务器进行数据交互时,普遍采用超文本传输协议(HTTP)进行传输。在应用发生HTTP请求时,分为如下几个阶段:
0.应用准备发起请求之前的等待,例如准备请求参数
1.通过DNS查询到请求的服务器IP
2.建立TCP连接;如果是https连接,会发起TLS安全验证过程
3.发送请求头和请求体
4.等待服务器响应
5.下载响应头和响应数据(可选)
对于每一个阶段,本模块将获取其时间戳;并且通过应用的状态得知,该请求是否成功,若不成功,是在http请求的哪一阶段发生的失败。每个数据可简化为t_i的一个数组,i=0,1,2,3,4,5。本模块会标记这个请求是否发生了错误。
如果错误发生,为了判别错误是否是由于用户端网络环境的问题,本模块会在错误发生后请求一个服务全球或者国内用户的高度可用高可靠的英特网公有资源。该类公有资源可访问性极高,响应体小,而且在网络状况差(如2G,弱网环境时)依然能正常访问。本发明采用国内外大型站点上所存储的被精简过的第三方JavaScript脚本资源,如JQuery,Backbone等。若用户访问见证者网址出现问题,则判定为用户端英特网接入问题(例如实际断网,或者网络连接无法接入英特网),并放弃上传之前的错误;反之判定之前发生的错误为APP服务端问题,即真实问题,将进一步上传。对应的,请求公有资源可以简化为wt_i的一个数组,i=0,1,2,3,4,5。
除了网络错误请求的信息外,本模块还会收集如下信息:
1.应用运行时的相关信息,包括应用的进程ID和发生网络请求的线程ID,用于判断网络错误发生时是否存在操作系统级别上的问题,比如资源分配出错,线程或进程数过多等。同时这些信息能方便开发者进一步结合其他诊断工具诊断移动应用潜藏的程序问题,如内存泄露,负载过高等。
2.应用安装的版本详细信息,包括应用的版本号和发布的应用的渠道,用以是否是特殊APP版本造成的错误。同时该信息用以纵向比较版本更新过程中的错误情况,以及该应用在各个平台上的分发版本上是否有特定错误出现。
3.用户环境信息。主要包括:
a)移动网络运营商,因为各运营商的基础设施规格不尽相同,带来网络情况各异,会时有出现特定运营商的网络问题;网络类型(如Wifi或4G),因为特定的网络类型可能引发问题,如2G信号较弱,不宜用来请求部分资源等;
b)网络代理,由于代理的设置不当,如地址错误、账密错误或代理服务器不可用等也是网络错误的重要原因;
c)物理位置信息(GPS以及移动网络基站位置):通过该项结合用户其他网络环境信息,获知用户使用的物理网络所处的地域;
d)设备型号:用来探知特定品牌、规格手机可能存在的特殊兼容性问题。
4.用户唯一识别信息(即ID)。本发明通过移动端用户的ID能够确认网络错误影响到了多少实际终端用户。本发明在应用安装或第一次启动时,通过设备的唯一识别码(如IMEI)、应用版本信息和安装当前时间戳等产生一个安全随机数(SecureRandom),并将这个ID持久化地保存在用户终端,保证在APP更新过程中保持不变。这样既避免了由于一些设备存在的唯一识别编号不唯一的情况,又可以在用户不重新安装系统的情况下,保证单一终端用户的唯一识别信息尽可能不变,从而使得用户唯一识别信息的统计数量准确,并且能定位到特定的用户。
该模块收集信息的流程如图2所示。
二、数据传输模块
该模块用于将数据可靠而高效地从移动终端传输到分析端。
传输数据分为传送端和接收端。为了保证可靠性,本发明在传送端建立了临时存储错误数据的空间,通过“分时/分大小”的策略进行上传,即:当存储的错误数据累计达到一定大小时,或距离上一次传送已经过了一定时间,两者满足其一就进行数据传送。该策略能够减少网络请求的建连数量,从而降低网络开销以加强效率;同时保证了错误数据到达分析端的及时性。临时错误存储将被持久化到手机的存储空间中,当软件退出重启或中途闪退时,存储的错误数据不会丢失,而可以从存储空间中恢复,以保证错误数据的完整性。
接收端在接收数据时,会采用“快返回、延后检验”的策略进行接受,即:将传统的网络请求接收数据流程进行精简,在收到了传送端的请求头时,就向其返回接收成功的信息,并送入缓存队列。缓存队列的数据在接收端服务器硬盘上将留有副本,以保证接收端进行故障恢复。对收到的数据内容进行检验的步骤,将放到程序处理逻辑的后续步骤中执行。本模块会用纯文本格式传输数据,以避免服务器框架进行提前解析。后续的执行步骤包括数据格式校验、根据GPS定位获取经纬度、存入数据库等步骤。这使得接收端服务器能以较低的配置可靠地承担大量的传送端请求。经过测试,数据传输模块能够使得一个四核,16G内存的单台物理服务器接收端承受2000次每秒的并发请求。
该模块传输信息的流程如图3所示。
接收端支持部署为分布式服务器,每个服务器称为一个监控节点,数据收集传送端就近选择接收端监控节点进行传送。传送端将从分布式服务器中获取一个附近可用的服务器列表,使得最近的接收端节点服务不可用时,能够选择其他的服务器进行数据传送。通过这种策略能使接收端实现每秒钟数万次的数据接收,并拥有地域广泛的数据连接通路。监控节点能够选用的工作策略有两种,包括独立进行下述的分析和预警;以及只进行错误数据的统计,并定时将统计数据汇总至主监控节点以备进一步分析,使得系统具有高可扩展性。分布式的本发明系统结构如图4所示。
三:态势感知与预警模块
该模块对收集到的数据进行实时统计,获取多维的统计数据供用户参考,并用实时分析,态势感知的方式,以期发现数据中隐含的软件质量问题,并通过预警的方式告知开发者。
本模块会分时段统计网络请求的错误类型及其环境数据,以给开发者提供错误出现最多的请求地址、地区、机型、系统版本等信息。
在分时段统计中,本发明会将迄今为止(包括本日、本周等)的数据汇总并存入缓存数据库。在有新的数据进入时,本模块通过增量统计的方法,即之前统计的结果与新的本日和本周数据统计结果累加,得出最新的统计数据。
本发明会根据定时更新的错误信息态势感知并进行预警,当异常情况发生时,报警器通过邮件、短信或用户界面等方式,通知开发者相应的紧急情况。本发明制定了一系列策略来进行预警,包括但不限于:
1.流量异常预警:当错误产生的累计流量高,或错误有突发流量时进行预警。该情况常发生在对服务器大型资源(如视频、图片等)的请求过多,超过服务器负载时产生,开发者应该查询服务器的相关资源是否完整,检测服务器带宽是否出现问题。并采取手段优化资源传输,如设计服务降级策略,压缩图片,设立CDN服务器,进行负载均衡等。
2.用户行为异常预警:用于推测用户端的异常网络请求,如部分用户发生的瞬时大量网络错误,或用户出现不符合软件状态逻辑的网络请求时进行预警。该情况可能预示软件逻辑中可能存在潜在问题。开发者应当就该部分的代码逻辑进行检查,找出在特定情况下会发生频繁请求网络原因。该情况也可能预示特定用户终端、特定机型发生兼容性问题,考虑联系用户或进一步分析用户的其他行为数据以寻找原因。
3.恶意行为预警:当用户的网络错误频繁发生在安全敏感功能(如登录、付款)时的预警。该情形说明可能用户在进行暴力破解等攻击行为,应进行线上敏感数据监控,制定策略对具有攻击行为的网络请求进行针对性阻挡,加强密码级别等。同时追查相关攻击方以进一步防范。
4.异常登录预警:当用户的登录地点或登录环境变化过多时进行预警。该情况有多种可能,一是用户的账号密码等关键信息遭到泄露并被其他人登录,考虑临时冻结用户,禁止进行敏感操作,或通知用户账户存在风险,尽快修改账户密码;二是登录操作的代码逻辑出现故障,造成用户登录至别人的账号,需要对用户登录模块的代码进行修复,并查询影响到的用户,以消除影响。
5.服务不可用预警:当区域性错误发生时,如请求某地区某一服务器的错误数量骤增或骤减时进行预警。该情况预示该服务器的网络环境较差,或出现服务器系统故障,如硬盘空间满、内存泄露等,需要运维人员对服务器的问题进行修复,以恢复正常服务。
本模块亦支持动态地加入开发者定制的新预警策略,以及自定义预警策略参数的功能。开发者通过读取错误元数据及统计数据,可制定自己的预警策略并加入系统。通过定制预警策略,开发者有效专注于特定的预警信息,或者指定值班、重大事故逐级上报等行政制度,提高工作效率并及时解决线上问题。
需要说明的是,本发明提供的所述方法中的步骤,可以利用所述系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照所述系统的技术方案实现所述方法的步骤流程,即,所述系统中的实施例可理解为实现所述方法的优选例,在此不予赘述。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个模块、装置、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (10)

1.一种基于网络请求数据的移动端软件质量态势感知系统,其特征在于,包括:网络错误收集模块、数据传输模块和态势感知与预警模块;其中:
所述网络错误收集模块,设置于移动终端,用于收集移动终端发起网络请求遇到错误情形时的请求数据以及运行环境数据;
所述数据传输模块,用于将网络错误收集模块发起的数据从移动终端传输到分析端;
所述态势感知与预警模块,设置于分析端,用于对接收到的数据进行实时统计,获取多维的统计数据供用户参考,并用实时分析、态势感知的方法,发现数据中隐含的软件质量问题,并预警;
对于每一个阶段,所述网络错误收集模块将获取其时间戳;并且通过应用的状态得知,该请求是否成功,若不成功,是在http请求的哪一阶段发生的失败;所述网络错误收集模块会标记这个请求是否发生了错误;
如果错误发生,为了判别错误是否是由于用户端网络环境的问题,所述网络错误收集模块会在错误发生后请求一个服务全球或者国内用户的英特网公有资源;若用户访问见证者网址出现问题,则判定为用户端英特网接入问题,并放弃上传之前的错误;反之判定之前发生的错误为APP服务端问题,即真实问题,将进一步上传。
2.根据权利要求1所述的基于网络请求数据的移动端软件质量态势感知系统,其特征在于,
所述网络错误收集模块,收集移动终端发起网络请求遇到错误情形时的运行环境数据,至少包括如下任意一项或任意多项:
-应用运行时的相关信息,包括应用的进程ID和发生网络请求的线程ID,用于判断网络错误发生时是否存在操作系统级别上的问题以及诊断移动应用潜藏的程序问题;
-应用安装的版本详细信息,包括应用的版本号和发布的应用的渠道,用于判断是否为特殊应用程序版本造成的错误、纵向比较版本更新过程中的错误以及该应用程序在各个平台上的分发版本上是否有特定错误出现;
-用户环境信息,至少包括如下任意一项或任意多项:移动网络运营商、网络类型、网络代理、物理位置信息以及设备型号;
-用户唯一识别信息,用于确认网络错误影响到的实际终端用户数量。
3.根据权利要求1所述的基于网络请求数据的移动端软件质量态势感知系统,其特征在于,所述数据传输模块包括传送端和接收端;还包括如下任意一项或任意多项:
-所述传送端与接收端之间采用纯文本格式进行数据传输;
-所述接收端部署为分布式服务器,其中每一个服务器为一个监控节点,所述传送端就近选择接收端监控节点进行数据传输;
-所述传送端设有临时存储错误数据空间,通过设置错误数据存储数量阈值和/或距离上一次传送时间间隔阈值,在错误数据满足其中一个阈值条件时进行数据传送;
-所述接收端在收到了传送端的请求头时,就向其返回接收成功的信息,并将数据送入缓存队列,再从缓存队列提取数据进行检验后传输到分析端;
-所述缓存队列中的数据在接收端服务器上将留有副本。
4.根据权利要求1所述的基于网络请求数据的移动端软件质量态势感知系统,其特征在于,所述态势感知与预警模块,分时段统计网络请求的错误类型及环境数据后存入缓存数据库;当有新数据加入时,采用增量统计的方法,得出最新的统计数据,并根据定时更新的错误信息态势感知并进行预警。
5.根据权利要求4所述的基于网络请求数据的移动端软件质量态势感知系统,其特征在于,所述态势感知与预警模块,还包括如下任意一项或任意多项:
-所述预警至少包括如下任意一项或任意多项内容:
流量异常预警;
用户行为异常预警;
恶意行为预警;
异常登录预警;
服务不可用预警;
-还包括动态加入开发者定制的新预警策略以及自定义预警策略参数的功能单元。
6.一种基于网络请求数据的移动端软件质量态势感知方法,其特征在于,包括:
网络错误收集,收集移动终端发起网络请求遇到错误情形时的请求数据以及运行环境数据;其中:
对于每一个阶段,获取移动终端发起网络请求时每一个阶段的时间戳;并且通过应用的状态得知,该请求是否成功,若不成功,是在http请求的哪一阶段发生的失败;标记这个请求是否发生了错误;
如果错误发生,为了判别错误是否是由于用户端网络环境的问题,在错误发生后请求一个服务全球或者国内用户的英特网公有资源;若用户访问见证者网址出现问题,则判定为用户端英特网接入问题,并放弃上传之前的错误;反之判定之前发生的错误为APP服务端问题,即真实问题,将进一步上传;
数据传输,将网络错误收集模块发起的数据从移动终端传输到分析端;
态势感知与预警,对接收到的数据进行实时统计,获取多维的统计数据供用户参考,并用实时分析、态势感知的方法,发现数据中隐含的软件质量问题,并预警。
7.根据权利要求6所述的基于网络请求数据的移动端软件质量态势感知方法,其特征在于,
所述网络错误收集中,收集移动终端发起网络请求遇到错误情形时的运行环境数据,至少包括如下任意一项或任意多项:
-应用运行时的相关信息,包括应用的进程ID和发生网络请求的线程ID,用于判断网络错误发生时是否存在操作系统级别上的问题以及诊断移动应用潜藏的程序问题;
-应用安装的版本详细信息,包括应用的版本号和发布的应用的渠道,用于判断是否为特殊应用程序版本造成的错误、纵向比较版本更新过程中的错误以及该应用程序在各个平台上的分发版本上是否有特定错误出现;
-用户环境信息,至少包括如下任意一项或任意多项:移动网络运营商、网络类型、网络代理、物理位置信息以及设备型号;
-用户唯一识别信息,用于确认网络错误影响到的实际终端用户数量。
8.根据权利要求6所述的基于网络请求数据的移动端软件质量态势感知方法,其特征在于,所述数据传输中,包括传送端和接收端;还包括如下任意一项或任意多项:
-传送端与接收端之间采用纯文本格式进行数据传输;
-所述接收端包括多个监控节点,所述传送端就近选择接收端监控节点进行数据传输;
-所述传送端设有临时存储错误数据空间,通过设置错误数据存储数量阈值和/或距离上一次传送时间间隔阈值,在错误数据满足其中一个阈值条件时进行数据传送;
-所述接收端在收到了传送端的请求头时,就向其返回接收成功的信息,并将数据送入缓存队列,再从缓存队列提取数据进行检验后传输到分析端;
-所述缓存队列中的数据在接收端服务器上将留有副本。
9.根据权利要求6所述的基于网络请求数据的移动端软件质量态势感知方法,其特征在于,所述态势感知与预警中,分时段统计网络请求的错误类型及环境数据后存入缓存数据库;当有新数据加入时,采用增量统计的方法,得出最新的统计数据,并根据定时更新的错误信息态势感知并进行预警。
10.根据权利要求9所述的基于网络请求数据的移动端软件质量态势感知方法,其特征在于,所述态势感知与预警中,还包括如下任意一项或任意多项:
-所述预警至少包括如下任意一项或任意多项内容:
流量异常预警;
用户行为异常预警;
恶意行为预警;
异常登录预警;
服务不可用预警;
-还包括动态加入开发者定制的新预警策略以及自定义预警策略参数。
CN201910462577.7A 2019-05-30 2019-05-30 基于网络请求数据的移动端软件质量态势感知系统及方法 Active CN110225543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910462577.7A CN110225543B (zh) 2019-05-30 2019-05-30 基于网络请求数据的移动端软件质量态势感知系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910462577.7A CN110225543B (zh) 2019-05-30 2019-05-30 基于网络请求数据的移动端软件质量态势感知系统及方法

Publications (2)

Publication Number Publication Date
CN110225543A CN110225543A (zh) 2019-09-10
CN110225543B true CN110225543B (zh) 2021-11-30

Family

ID=67818959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910462577.7A Active CN110225543B (zh) 2019-05-30 2019-05-30 基于网络请求数据的移动端软件质量态势感知系统及方法

Country Status (1)

Country Link
CN (1) CN110225543B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591774A (zh) * 2011-12-28 2012-07-18 深圳天源迪科信息技术股份有限公司 软件缺陷严重级别测定方法
CN102711141A (zh) * 2012-05-15 2012-10-03 上海交通大学无锡研究院 一种基于移动终端的移动网络服务质量分布式采集方法
CN102917387A (zh) * 2011-08-01 2013-02-06 中国移动通信集团公司 对多种无线网络进行监控的方法和移动终端
CN108391281A (zh) * 2018-02-05 2018-08-10 广东欧珀移动通信有限公司 一种无线网络的桥接方法、终端设备及存储介质
CN109144817A (zh) * 2018-08-03 2019-01-04 江苏满运软件科技有限公司 一种日志数据监控系统及方法
CN109547271A (zh) * 2019-01-06 2019-03-29 广州泳泳信息科技有限公司 一种基于大数据的网络状态实时监控警报系统
CN109598120A (zh) * 2018-11-15 2019-04-09 中国科学院计算机网络信息中心 移动终端的安全态势智能分析方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123149B (zh) * 2011-03-04 2013-11-20 哈尔滨工程大学 面向服务的大规模网络安全态势评估装置及方法
CN103369044A (zh) * 2013-07-11 2013-10-23 无锡交大联云科技有限公司 一种基于云知识库的移动终端用户网络感知诊治方法
US10616781B2 (en) * 2017-06-14 2020-04-07 T-Mobile Usa, Inc. Device-based diagnostic network testing
KR102387582B1 (ko) * 2017-09-29 2022-04-18 삼성전자 주식회사 무선 통신 시스템에서 pdn 연결 관리 방법 및 장치
CN109144884A (zh) * 2018-09-29 2019-01-04 平安科技(深圳)有限公司 程序错误定位方法、装置、及计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102917387A (zh) * 2011-08-01 2013-02-06 中国移动通信集团公司 对多种无线网络进行监控的方法和移动终端
CN102591774A (zh) * 2011-12-28 2012-07-18 深圳天源迪科信息技术股份有限公司 软件缺陷严重级别测定方法
CN102711141A (zh) * 2012-05-15 2012-10-03 上海交通大学无锡研究院 一种基于移动终端的移动网络服务质量分布式采集方法
CN108391281A (zh) * 2018-02-05 2018-08-10 广东欧珀移动通信有限公司 一种无线网络的桥接方法、终端设备及存储介质
CN109144817A (zh) * 2018-08-03 2019-01-04 江苏满运软件科技有限公司 一种日志数据监控系统及方法
CN109598120A (zh) * 2018-11-15 2019-04-09 中国科学院计算机网络信息中心 移动终端的安全态势智能分析方法、装置及存储介质
CN109547271A (zh) * 2019-01-06 2019-03-29 广州泳泳信息科技有限公司 一种基于大数据的网络状态实时监控警报系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向大数据环境的网络安全态势感知平台研究;朱义杰,杨玉龙,李帅,成建宏;《网络安全技术与应用》;20181112;全文 *

Also Published As

Publication number Publication date
CN110225543A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
US7640460B2 (en) Detect user-perceived faults using packet traces in enterprise networks
CN110730246A (zh) 一种微服务架构下的分布式链路跟踪方法
CN110046073B (zh) 一种日志采集方法及装置、设备、存储介质
US20160218942A1 (en) Method and system for isp network performance monitoring and fault detection
CN113835836B (zh) 动态发布容器服务的系统、方法、计算机设备及介质
CN108933693A (zh) 一种域名服务系统故障处理方法和系统
CN103634166A (zh) 一种设备存活检测方法及装置
CN103731315A (zh) 一种服务器故障检测方法
CN110225543B (zh) 基于网络请求数据的移动端软件质量态势感知系统及方法
CN110569178B (zh) 基于大数据平台的接口预警方法和系统
US11153769B2 (en) Network fault discovery
CN106685744A (zh) 一种故障排除方法、装置及系统
CN112835780B (zh) 一种业务检测方法及装置
CN108880920B (zh) 云服务管理方法、装置以及电子设备
CN116055303A (zh) 链路监控处理方法、装置、电子设备及存储介质
CN103297480A (zh) 一种应用服务自动检测系统和方法
CN113965447B (zh) 一种在线云诊断方法、装置、系统、设备及存储介质
CN114598622A (zh) 数据监控方法及装置、存储介质、计算机设备
CN110362464B (zh) 软件分析方法及设备
JP5155986B2 (ja) 監視システム、監視方法、監視用プログラム
CN110896545A (zh) 在线计费漫游故障定位方法及相关装置、存储介质
CN116340690B (zh) 页面异常检测方法、装置及计算机设备
CN113328907B (zh) 通信网络中性能与错误检测方法、核心网、装置和介质
CN114050969B (zh) 低带宽远程监控系统
CN110489690B (zh) 监控政务服务应用系统的方法、服务器、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant