一种移动应用监测系统的制作方法

文档序号:15850597发布日期:2018-11-07 09:49阅读:151来源:国知局
一种移动应用监测系统的制作方法

本发明涉及本发明属于电力信息应用领域,尤其一种移动应用监测系统。

背景技术

在电力行业信息化不断推进的过程中,信息系统已经成为电力企业公司员工日常工作的基础手段,在电力生产控制与公司经营管理中发挥了日益重要的作用,随着移动互联网的快速发展,电力移动应用在生产、营销、抢修等业务的需求不断增加,其规模和复杂程度也急剧加强。基于电力业务应用数据安全性的考虑,在移动应用的安全通信、应用运行监测等方面提出了更高的要求,希望能够提供一种满足电力业务的移动应用检测系统。



技术实现要素:

本发明的目的在于提供一种移动应用监测系统,能够根据不同参数的类型分别设置检测策略,并将检测结果方便的呈现给用户;进一步的,还对移动终端中安装的与电力系统密切相关的应用程序进行监测,尤其是在监测到这些应用程序崩溃时,还提供了崩溃原因的分析方法和分析结果呈现。

为实现上述目的,本发明的技术方案是:一种移动应用监测系统,包括内置有监测程序的移动终端、监测服务器,参数数据库和结果显示装置;所述监测程序用于获得所述移动终端的静态参数、静态参数变化情况和动态参数,并将获得的参数传输给监测服务器;所述监测服务器用于对接收到的参数进行分析,生成分析结果;所述结果显示装置用于将所述分析结果呈现给用户;

其中,所述监测程序被首次置入移动终端时,检测所述移动终端的静态参数,并将静态参数传输给监测服务器;所述监测服务器将所述静态参数作为一条记录存储到参数数据库中;

所述监测程序在所述移动终端内运行时,以第一预设时间为周期定期检测所述移动终端的静态参数,并且当检测到所述移动终端一个或多个静态参数发生变化时,将静态参数变化情况传输给监测服务器;监测服务器根据静态参数变化情况更新所述参数数据库;

所述监测程序在所述移动终端内运行时,还以第二预设时间为周期检测所述移动终端的动态参数,并将检测到的动态参数实时传输给所述检测服务器。

在本发明一实施例中,所述监测程序中具有静态参数缓存功能,用于存储上一周期检测到的静态参数;当当前周期检测到的静态参数与静态参数缓存中存储的静态参数不同时,确定静态参数的变化情况,并将静态参数变化情况传输给监测服务器。

在本发明一实施例中,所述监测程序中包括必要程序列表,用于存储必要程序的唯一标识;当必要程序列表中的程序发生崩溃时,所述监测程序实时检测静态参数,当检测的静态参数与静态参数缓存中存储的参数不同时,确定静态参数的变化情况,并将静态参数变化情况传输给监测服务器。

在本发明一实施例中,当必要程序列表中的程序发生崩溃时,所述监测程序还获得崩溃程序的运行时间,并将崩溃程序id、移动终端id、崩溃程序运行时间作为崩溃信息传输给监测服务器。

在本发明一实施例中,所述监测服务器在接收到崩溃信息时,执行以下步骤:

步骤s100、根据崩溃程序id获得安装该崩溃程序的移动终端数量c0,以及时间t内出现崩溃程序的移动终端数量c1;

步骤s200、如果或者,那么根据t时间内监测服务器接收到的所有崩溃信息中的m个移动终端id,在参数数据库中检索获得的对应的m条记录中的预先指定的n-1个静态参数,以及崩溃信息中的m个崩溃程序运行时间,复制到临时缓存表中,该临时缓存表中包括m条记录,每个记录具有n个参数,即临时缓存表存储有m*n个参数数据;

步骤s300、根据临时缓存表生成对应的参数矩阵;其中,为tij在临时缓存表的第j列中出现的次数,max()为最大值函数,i的取值为1到m,j的取值为1到n;

步骤s400、对于参数矩阵pmat中任意的第j列,计算,如果,那么在pmat和临时缓存表中均保留第j列,反之在pmat和临时缓存表中均删除第j列,从而形成参数矩阵;其中,j的取值为1到n,

步骤s500、根据参数矩阵pm中的行数据的相似度进行聚类,形成k个聚类类别,统计每个聚类类别中包含的行数据数量

步骤s600、根据参数矩阵pm对应的临时缓存表中的参数数据,以及行数据数量n,生成监测结果,并将监测结果传输到结果显示装置;

其中,d1、d2和d3为预设的阈值。

在本发明一实施例中,

在本发明一实施例中,所述结果显示装置为基于web页面的浏览器或者app应用程序。

在本发明一实施例中,所述监测程序为app程序或者sdk程序。

在本发明一实施例中,所述静态参数包括移动终端id、移动终端类型、操作系统编码、硬件信息、root权限、应用程序列表。

在本发明一实施例中,所述动态参数包括日流量、地理位置、特定应用程序的登录和登出时间。

相较于现有技术,本发明具有以下有益效果:本发明能够根据不同参数的类型分别设置检测策略,并将检测结果方便的呈现给用户;进一步的,本发明还对移动终端中安装的与电力系统密切相关的应用程序进行监测,尤其是在监测到这些应用程序崩溃时,本发明还提供了崩溃原因的分析方法和分析结果呈现。

附图说明

图1是本发明的方法流程图。

图2是本发明的监测服务器在接收到崩溃信息时处理步骤的流程图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

本发明的一种移动应用监测系统,包括内置有监测程序的移动终端、监测服务器,参数数据库和结果显示装置;所述监测程序用于获得所述移动终端的静态参数、静态参数变化情况和动态参数,并将获得的参数传输给监测服务器;所述监测服务器用于对接收到的参数进行分析,生成分析结果;所述结果显示装置用于将所述分析结果呈现给用户;

其中,所述监测程序被首次置入移动终端时,检测所述移动终端的静态参数,并将静态参数传输给监测服务器;所述监测服务器将所述静态参数作为一条记录存储到参数数据库中;

所述监测程序在所述移动终端内运行时,以第一预设时间为周期定期检测所述移动终端的静态参数,并且当检测到所述移动终端一个或多个静态参数发生变化时,将静态参数变化情况传输给监测服务器;监测服务器根据静态参数变化情况更新所述参数数据库;

所述监测程序在所述移动终端内运行时,还以第二预设时间为周期检测所述移动终端的动态参数,并将检测到的动态参数实时传输给所述检测服务器。

所述监测程序中具有静态参数缓存功能,用于存储上一周期检测到的静态参数;当当前周期检测到的静态参数与静态参数缓存中存储的静态参数不同时,确定静态参数的变化情况,并将静态参数变化情况传输给监测服务器。

所述监测程序中包括必要程序列表,用于存储必要程序的唯一标识;当必要程序列表中的程序发生崩溃时,所述监测程序实时检测静态参数,当检测的静态参数与静态参数缓存中存储的参数不同时,确定静态参数的变化情况,并将静态参数变化情况传输给监测服务器。

当必要程序列表中的程序发生崩溃时,所述监测程序还获得崩溃程序的运行时间,并将崩溃程序id、移动终端id、崩溃程序运行时间作为崩溃信息传输给监测服务器。

所述监测服务器在接收到崩溃信息时,执行以下步骤:

步骤s100、根据崩溃程序id获得安装该崩溃程序的移动终端数量c0,以及时间t内出现崩溃程序的移动终端数量c1;

步骤s200、如果或者,那么根据t时间内监测服务器接收到的所有崩溃信息中的m个移动终端id,在参数数据库中检索获得的对应的m条记录中的预先指定的n-1个静态参数,以及崩溃信息中的m个崩溃程序运行时间,复制到临时缓存表中,该临时缓存表中包括m条记录,每个记录具有n个参数,即临时缓存表存储有m*n个参数数据;

步骤s300、根据临时缓存表生成对应的参数矩阵;其中,为tij在临时缓存表的第j列中出现的次数,max()为最大值函数,i的取值为1到m,j的取值为1到n;

步骤s400、对于参数矩阵pmat中任意的第j列,计算,如果,那么在pmat和临时缓存表中均保留第j列,反之在pmat和临时缓存表中均删除第j列,从而形成参数矩阵;其中,j的取值为1到n,

步骤s500、根据参数矩阵pm中的行数据的相似度进行聚类,形成k个聚类类别,统计每个聚类类别中包含的行数据数量

步骤s600、根据参数矩阵pm对应的临时缓存表中的参数数据,以及行数据数量n,生成监测结果,并将监测结果传输到结果显示装置;

其中,d1、d2和d3为预设的阈值。

所述结果显示装置为基于web页面的浏览器或者app应用程序。所述监测程序为app程序或者sdk程序。所述静态参数包括移动终端id、移动终端类型、操作系统编码、硬件信息、root权限、应用程序列表。所述动态参数包括日流量、地理位置、特定应用程序的登录和登出时间。

以下为本发明的具体实现过程。

如图1所示,本发明提供了一种移动应用监测系统,包括:置入移动终端的监测程序,监测服务器,参数数据库和结果显示装置。监测程序用于获得移动终端的静态参数、静态参数变化情况和动态参数,并将获得的参数传输给监测服务器;监测程序可以是app程序或者sdk程序,监测程序随着移动终端的启动而运行,优选的,监测程序为移动终端的核心程序,其进程不被移动终端中的管理软件杀死。监测服务器用于对接收到的参数进行分析,生成分析结果(例如图表结合文字摘要的形式),并将分析结果传输到结果显示装置。结果显示装置用于将分析结果呈现给用户;优选的,结果显示装置为基于web页面的浏览器或者app应用程序,以方便用户通过多种途径获取分析结果。

根据本发明,静态参数为移动终端中相对固定的参数,不会随着用户的使用而实时变化,例如包括但不限于移动终端id、移动终端类型、操作系统编码、硬件信息(处理器、存储器、sim卡等的相关信息)、root权限、应用程序列表等参数。动态参数为移动终端实际使用过程中实时变化的参数,例如包括但不限于日流量、地理位置、特定应用程序的登录和登出时间等参数。

具体的,当监测程序被首次置入移动终端时,检测移动终端的静态参数,并将静态参数传输给监测服务器;监测服务器将静态参数作为一条记录存储到参数数据库中。

当监测程序在移动终端内运行时,以第一时间(例如一周或一个月)为周期定期检测移动终端的静态参数,并且当检测到移动终端一个或多个静态参数发生变化时,将静态参数变化情况传输给监测服务器;监测服务器根据静态参数变化情况更新参数数据库。进一步的,监测程序中包括静态参数缓存,用于存储上一周期(例如上周或上个月)检测到的静态参数;当当前周期(例如本周或本月)检测到的静态参数与静态参数缓存中存储的静态参数不同时,确定静态参数的变化情况,并将静态参数变化情况传输给监测服务器。

进一步的,当监测服务器发现静态参数的变化不符合预先设置的规则时,可以向移动终端或者第三方发送预警信息。例如,当移动终端的root权限被用户非法变更时,监测服务器向移动终端或者第三方发送预警信息。

监测程序在移动终端内运行时,还以第二时间(例如一天)为周期检测移动终端的动态参数,并将检测到的动态参数实时传输给检测服务器。

进一步的,当监测服务器发现动态参数的变化不符合预先设置的规则时(例如日流量超标),可以向用户或第三方发送预警信息。

本发明中,前述的第三方例如是电力系统中负责信息通信的管理部门。

如图2所示,根据本发明的第二个方面,监测程序中包括必要程序列表,用于存储必要程序的唯一标识,必要程序例如但不限于电力系统的相关业务关联的应用程序或者电力系统的相关业务直接使用的应用程序。当列表中的程序发生崩溃时,监测程序实时检测静态参数,而不再等待静态参数的检测周期;例如,当每周六晚上11点检测静态参数,但是当周二必要程序出现崩溃时,当时就检测静态参数。当检测的静态参数与静态参数缓存中存储的参数不同时,确定静态参数的变化情况,并将静态参数变化情况传输给监测服务器。进一步的,监测程序还获得崩溃程序的运行时间,并将崩溃程序id、移动终端id、崩溃程序运行时间作为崩溃信息传输给监测服务器。

根据本发明,监测服务器在接收到崩溃信息时,执行以下步骤以对出现程序崩溃的原因进行分析并反馈给用户:

步骤s100,根据崩溃程序id获得安装该崩溃程序的移动终端数量c0,以及时间t内(例如3-12个小时内)出现崩溃程序的移动终端数量c1。具体的,在参数数据库中存储有移动终端和对应的应用程序列表,在应用程序列表中查询崩溃程序id并统计记录的数量,从而获得c0。进一步的,监测服务器开辟临时存储区域,存储接收到的崩溃信息以及接收时间,据此本领域技术人员可以方便的根据崩溃程序id获得预定时间t内的c1。

步骤s200,如果(d1例如200-500个)或者(d2例如30%-50%),那么根据t时间内监测服务器接收到的所有崩溃信息中的m个移动终端id,在参数数据库中检索获得的对应的m条记录中的(例如用户)预先指定的n-1个静态参数,以及崩溃信息中的m个崩溃程序运行时间,复制到临时缓存表中(显然,临时缓存表中包括m条记录,每个记录具有n个参数,即临时缓存表存储有m*n个参数数据)。根据步骤s200,当崩溃程序的绝对数量较大或者相对数量较大时,都对崩溃原因进行分析;反之,不分析崩溃原因。

一个简单的可能是非实际使用的说明目的的示例性实施例中,用户可能指定“移动终端类型”和“操作系统编码”作为n-1=2个静态参数。当例如3个小时内,有200个移动终端中安装的某个必要程序崩溃时,监测服务器将这200个移动终端id对应的“移动终端类型”、“操作系统编码”和崩溃信息中的“崩溃程序运行时间”复制到临时缓存表,因此临时缓存表中也就具备了3*200个数据。本领域技术人员清楚,临时缓存表中必然还包括移动终端id等索引数据以满足数据库的一般操作。

步骤s300,根据临时缓存表生成对应的参数矩阵;其中,为tij在临时缓存表的第j列中出现的次数,max()为最大值函数,i的取值为1到m,j的取值为1到n。前述示例性实施例中,n=3,m=200;显然pij的取值范围为0-1。

步骤s400,对于参数矩阵pmat中任意的第j列,计算,如果,其中,;那么说明第j列的数据较为聚集,可能是程序崩溃的主要原因,因此在pmat和临时缓存表中均保留第j列,反之说明第j列的数据较为分散,不会是程序崩溃的主要原因,因此,在pmat和临时缓存表中均删除第j列,最终形成参数矩阵;其中,j的取值为1到n,。前述示例性实施例中,假如发现第1列的数据较为分散,第2和第3列的数据较为集中,那么在pm中,z=2,即影响程序崩溃的主要原因在于操作系统编码和程序运行时间。

通过步骤s100-s400,所获得pm对应的临时缓存表的列即为使得程序崩溃的主要原因。

进一步的,可将上述主要原因作为监测结果传输到显示装置。

本发明中,可选的,还包括步骤s500和步骤s600。

步骤s500,根据参数矩阵pm中的行数据的相似度进行聚类,形成k个聚类类别,统计每个聚类类别中包含的行数据数量。本领域技术人员可以采用现有技术中的任何聚类算法来实现对pm中行数据的聚类,这均落入本发明的保护范围。但是,本发明仍然希望提供一种简洁高效的聚类方法,以适应pm的m个行数据中的多个行数据之间具有较高相似度的特殊情形。具体的,步骤s500进一步包括:

步骤s510,提取pm中的第r行数据,分别计算第r+1到最后1行行数据和pr的相似度(例如二者之间的余弦距离),直到第r+1行为最后1行。

步骤s520,提取相似度最高的第s行行数据

步骤s530,如果pr和ps的相似度rs大于特定阈值d4(d4的取值范围为80%-90%),那么将pr和ps划归为同一个聚类类别cl,同时记录行号并删除pr和ps,并设置该类别cl的行数据为pr和ps中各数据的均值。将类别cl的行数据作为新的第r行数据,跳转执行步骤s510。

步骤s540,如果rs小于或等于特定阈值d4,那么意味着pr和任意行数据之间均不够相似,因此将pr单独作为一个聚类类别,将r值加1,跳转执行步骤s510。

其中,r的初始值为1。通过步骤s510-s540,能够形成k(k大于或等于1)个聚类类别,以及各聚类类别包含的行数据数量。

步骤s600,根据参数矩阵pm对应的临时缓存表中的参数数据,以及行数据数量n,生成监测结果,并将监测结果传输到结果显示装置。例如,监测结果中以“饼图”形式显示数据数量n中的n1到nk所占的比例,以及将临时缓存表中的对应的数量最多的参数数据作为n1到nk的文本说明。再如,仅将n1到nk中的最大值对应的聚类类别及其所占比例作为监测结果传输到结果显示装置。本领域技术人员也可以采用现有技术中的其他方式,根据参数数据和行数据数量n,生成监测结果。

此外,根据公开的本发明的说明书,本发明的其他实现对于本领域的技术人员是明显的。实施方式和/或实施方式的各个方面可以单独或者以任何组合用于本发明的系统和方法中。说明书和其中的示例应该是仅仅看作示例性,本发明的实际范围和精神由所附权利要求书表示。

以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

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