移动数据监控分析方法、装置、计算机设备和存储介质
技术领域
本申请涉及大数据技术领域,特别是涉及一种移动数据监控分析方法、装置、计算机设备和存储介质。
背景技术
在移动终端运行各应用程序的过程中,移动终端会产生大量的移动端数据。移动端数据包含多个维度变量,例如手机型号、手机软件配置、APP版本、用户所在城市等,对不同维度变量进行组合,移动终端可以生成几十万甚至更多的日志信息。因而,如何快速地对海量的移动端数据进行数据监控,是现在数据分析的一个难点问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对海量移动端传输的监控数据进行快速分析并展示的移动数据监控分析方法、装置、计算机设备和存储介质。
一种移动数据监控分析方法,所述方法包括:
获取移动端传输的监控数据;
从所述监控数据中提取与时间对应的包含维度变量的待存储数据,所述待存储数据携带有维度标识;
将具有相同维度标识的所述待存储数据进行统计归类处理,得到列数据,所述列数据用于表征维度标识和时间的对应关系;
将所述列数据分布式存储在各个数据库中,当接收到查询请求时,将所述查询请求分发到各个所述数据库中,获取每个所述数据库反馈的查询结果;
对获得的所述查询结果进行数据聚合,得到聚类分组,对所述聚类分组进行可视化展示。
在其中一个实施例中,所述将所述查询请求分发到各个所述数据库中,包括:
将所述查询请求分发到各个所述数据库中,所述数据库中通过位图序列的方式存储所述列数据;所述查询请求用于指示所述数据库通过位图算法将所述查询请求转化为位图获取命令后,获取与所述位图获取命令对应的位图序列,并将所述位图序列通过位图算法逆解析成与所述查询请求对应的列数据。
在其中一个实施例中,所述对获得的所述查询结果进行数据聚合,得到聚类分组,包括:
计算所述列数据中各维度参数之间的距离;
根据所述距离统计所述列数据中每个维度参数的密度值;
获取聚类个数;
对所述密度值进行降序排序,选择所述密度值排序在前的维度参数为聚类中心,所述聚类中心的数量与所述聚类个数一致;
根据所述聚类中心对所述列数据进行聚类,并输出聚类分组。
在其中一个实施例中,所述对获得的所述查询结果进行数据聚合,得到聚类分组,包括:
将获得的所述查询结果分为预设个数的子结果集;
根据所述子结果集生成子任务,并将所述子任务发送至分布式集群进行聚类运算;
接收所述分布式集群聚类运算完成的分组,对接收到的分组进行合并,得到与所述维度变量对应的聚类分组。
在其中一个实施例中,所述将所述子任务发送至分布式集群进行聚类运算,包括:
向所述分布式集群发送任务调度指令,所述任务调度指令用于指示所述分布式集群将所述子任务分配给所述分布式集群中的多个计算节点进行聚类运算,并返回运算得到的分组。
在其中一个实施例中,所述对数据聚合的结果进行可视化展示之后,包括:
接收管理终端发送的包含故障时段的故障分析请求;
基于所述维度标识中的报错标识从与所述故障时段对应的所述监控数据中提取出故障数据;
根据所述故障数据和所述聚类分组确定故障分组,并根据所述故障分组生成故障分析报文发送给所述管理终端。
在其中一个实施例中,根据所述故障日志和所述聚类分组确定故障分组,包括:
对不同所述维度变量的所述聚类分组进行排列得到组合排列,当所述组合排列的系统日志包含所述故障日志时,判定所述组合排列为疑似分组;
通过聚类分组在维度变量的概率计算所述疑似分组对应的理论故障率,并根据所述故障数据计算实际故障率;
将所述理论故障率与所述实际故障率最接近的疑似分组确定为故障分组。
一种移动数据监控分析装置,所述装置包括:
监控数据接收模块,用于获取移动端传输的监控数据;
待存储数据提取模块,用于从所述监控数据中提取与时间对应的包含维度变量的待存储数据,所述待存储数据携带有维度标识;
列数据生成模块,用于将具有相同维度标识的所述待存储数据进行统计归类处理,得到列数据,所述列数据用于表征维度标识和时间的对应关系;
列数据提取模块,用于将所述列数据分布式存储在各个数据库中,当接收到查询请求时,将所述查询请求分发到各个所述数据库中,获取每个所述数据库反馈的查询结果;
数据展示模块,用于对获得的所述查询结果进行数据聚合,得到聚类分组,对所述聚类分组进行可视化展示。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述移动数据监控分析方法、装置、计算机设备和存储介质,服务器获取移动端传输的监控数据,并待存储数据进行统计归类处理,得到列数据,而后将列数据分布式存储在数据库中,因而接收到查询请求时,在数据查询获取的过程中服务器只读取需要的列数据,减少了冗余数据的获取,有效提高了查询获取的速度;服务器对列数据进行数据聚合,得到聚类分组,而后对聚类分组进行实时展示并进行多维的数据分析,方便业务人员进行自助查询和数据分析。
附图说明
图1为一个实施例中移动数据监控分析方法的应用场景图;
图2为一个实施例中移动数据监控分析方法的流程示意图;
图3为一个实施例中列数据的存储方法的流程示意图;
图4为另一个实施例中聚类分析步骤的流程示意图;
图5为另一个实施例中移动数据监控分析方法的流程示意图;
图6为一个实施例中移动数据监控分析装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的移动数据监控分析方法,可以应用于如图1所示的应用环境中。其中,管理终端102、数据库106、移动端108通过网络与服务器104进行通信。服务器104接收移动端108传输的监控数据;服务器104将具有相同维度标识的待存储数据进行统计归类处理,得到列数据,列数据用于表征维度标识和时间的对应关系;服务器104将列数据分布式存储在各个数据库106中;当服务器104接收到管理终端102发送的查询请求时,将查询请求分发到各个数据库106中,获取每个数据库106反馈的查询结果;服务器104对获得的查询结果进行数据聚合,得到聚类分组,对聚类分组进行可视化展示。其中,管理终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式智能设备,服务器104、数据库106和移动端108均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种移动数据监控分析方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取移动端传输的监控数据。
监控数据可以是移动端发送的日志。日志是根据用户对各网站的每一次点击或者操作而生成的。服务器接收移动端传输的监控数据。服务器可以直接接收移动端传输的监控数据,也可以从日志服务器接收从移动端汇总的日志。日志服务器可以是专门收集日志的服务器,例如Kafka服务器;也可以是各网站的服务器。
步骤204,从监控数据中提取与时间对应的包含维度变量的待存储数据,待存储数据携带有维度标识。
日志是按时间顺序记录的且包含多个维度变量的数据信息,可以是散点状的点击日志数据。日志可以包含至少一条数据信息,数据信息包含日志的来源、日志的生成环境以及是否故障。日志的呈现格式可以是文本格式或是图表格式。例如,日志可以是由时间和维度变量构成的表格,也可以是由时间和维度变量的维度参数组成的语段。当监控数据为日志时,待存储数据是根据时间和维度标识对散点状的点击日志数据进行归纳得到的点击流数据。点击流数据是根据各个维度变量以及对应的时间从日志中提取出来的。维度变量为日志中的一种可变属性,用于形容生成日志的环境。例如,维度变量可以是手机厂家、手机型号、手机应用版本、用户所在城市、系统报错等。维度标识用于对维度变量进行标识。例如,当维度变量为“城市”时,与维度变量对应的维度标识可以为“002”。服务器可以根据日志构建两张模型表Pageviews表和visits表,用于呈现点击流数据。其中,Pageviews表可以是根据用户、操作时间、用户的点击操作、访问链接及停留时间等构建的;visits表可以是根据用户的在访问链接上的操作以及操作时间等构建的。服务器从Pageviews表和visits表中提取与时间对应的包含维度变量的待存储数据,待存储数据携带有维度标识。
步骤206,将具有相同维度标识的待存储数据进行统计归类处理,得到列数据,列数据用于表征维度标识和时间的对应关系。
列数据用于表征维度标识和时间的对应关系,列数据可以是根据维度变量的维度参数和时间组成的时序数据。列数据可以是按时间顺序记录的数据,列数据的展现形式可以是表格或2×n的矩阵。服务器将具有相同维度标识的待存储数据进行统计归类处理,得到列数据。当日志中含有多条数据信息时,服务器可以将多条数据信息根据时间顺序排列,服务器也可以将数据信息进行精简聚合后,进行排列。例如,一个用户通过同一终端在一分钟内点击同一链接两次,由于这两条数据的除时间外的维度变量的维度参数都一致,服务器可以将两天数据信息记录为一条信息,并将维度变量中的计数变量的计数参数设成2,并记录总的响应时间。
服务器可以将点击流数据的模型表Pageviews表和visits表中的表头提取为维度变量。服务器再根据维度变量和时间从点击流数据的模型表Pageviews表和visits表中对应提取出维度参数,并将维度变量和时间进行关联,得到列数据。
步骤208,将列数据分布式存储在各个数据库中,当接收到查询请求时,将查询请求分发到各个数据库中,获取每个数据库反馈的查询结果。
服务器将列数据分布式存储在各个数据库中,服务器可以根据时间获取存储列数据的数据库。数据库可以包含离线存储数据库和在线存储数据库。离线存储数据库存储超出预设时间内的列数据。在线存储数据库存储在预设时间内的列数据,在线存储数据库可以设置在服务器上。预设时间可以根据用户的需求设置,例如可以为1天、1小时等。当日志的时间与当前时刻的差值在预设时间内时,服务器判定日志为实时日志,获取在线存储数据库的网络地址;当日志的时间与当前时刻的差值超出预设时间时,服务器判定日志为历史日志,获取离线存储数据库的网络地址。离线存储数据库和在线存储数据库均可以存在多个。实时数据保存在在线存储数据库,便于快速数据插入和查询;历史数据保存在磁盘,通过存储数据库提供的文件映射来读取,可以减小在线存储数据库的存储量及系统运算量。
当服务器接收到查询请求时,服务器将查询请求分发到各个数据库中,获取每个数据库反馈的查询结果。查询请求用于指示服务器对日志进行查询的指令,查询请求可以是包含查询时段,也可以包含查询时段和其他维度标识。当查询请求仅包含查询时段时,服务器进行单时序数据分析;当查询请求不只包含查询时段时,服务器进行多时序数据分析,多时序数据指与多个维度变量和时间对应的数据。
步骤210,对获得的查询结果进行数据聚合,得到聚类分组,对聚类分组进行可视化展示。
服务器根据维度变量对获得的查询结果进行数据聚合,得到聚类分组。服务器可以采用K均值聚类算法、Clara聚类算法等聚类算法进行聚类。服务器对维度变量的维度参数进行聚类,得到与维度变量对应的聚类分组。例如,维度变量“城市”下的维度参数有上海、北京、广州、深圳、杭州等,聚类分组的数量为4,服务器采用K-means算法进行聚类,可以得到维度变量“城市”对应的聚类分组为上海30%、北京30%、广州30%、其他10%。服务器对聚类分组进行可视化展示。
上述移动数据监控分析方法,服务器获取移动端传输的监控数据,并待存储数据进行统计归类处理,得到列数据,而后将列数据分布式存储在数据库中,因而接收到查询请求时,在数据查询获取的过程中服务器只读取需要的列数据,减少了冗余数据的获取,有效提高了查询获取的速度;服务器对列数据进行数据聚合,得到聚类分组,而后对聚类分组进行实时展示并进行多维的数据分析,方便业务人员进行自助查询和数据分析。
在另一个实施例中,将查询请求分发到各个数据库中,包括以下步骤:将查询请求分发到各个数据库中,数据库中通过位图序列的方式存储列数据;查询请求用于指示数据库通过位图算法将查询请求转化为位图获取命令后,获取与位图获取命令对应的位图序列,并将位图序列通过位图算法逆解析成与查询请求对应的列数据。
服务器将查询请求分发到各个存储列数据的数据库。数据库中通过位图序列的方式存储列数据,数据库对所有的列数据进行规则排序,并将每个数值或标签对应一个位图。例如,当维度变量为城市时,每个城市名即为一个标签,对应一个位图;当维度变量为访问频率时,每个频率数值对应一个位图。查询请求用于指示数据库通过位图算法将查询请求转化为位图获取命令后,获取与位图获取命令对应的位图序列,并将位图序列通过位图算法逆解析成与故障时段对应的列数据。数据库通过位图算法将查询请求转化为位图获取命令,并根据位图获取命令获取位图序列,并将位图序列通过位图算法逆解析成与查询请求对应的列数据。
上述移动数据监控分析方法中,数据库采用位图算法将列数据转化为位图序列,进一步节省数据库的存储空间,还极大地提高了数据库的查询速度。
在一些实施例中,如图3所示,对获得的查询结果进行数据聚合,得到聚类分组,包括以下步骤:
步骤302,计算列数据中各维度参数之间的距离。
服务器计算列数据中各维度参数之间的距离。当维度参数为数值时,服务器计算维度变量之间的差值,并将差值作为维度参数之间的距离;当维度参数为字符或者文字时,服务器计算维度变量之间的相似度,并将相似度作为维度参数之间的距离。
步骤304,根据距离统计列数据中每个维度参数的密度值。
服务器根据距离统计列数据中每个维度参数的密度值。密度值可以通过常用的点密度分析方法,也可以通过下式计算:密度值=区域面积/区域内点数统计。区域面积可以设定为1,也可以设定为其他常数。
步骤306,获取聚类个数。
服务器获取聚类个数。聚类个数是需要的分组个数。
步骤308,对密度值进行降序排序,选择密度值排序在前的维度参数为聚类中心,聚类中心的数量与聚类个数一致。
服务器对密度值进行降序排序,选择密度值排序在前的维度参数为聚类中心,聚类中心的数量与聚类个数一致。当相邻排序的维度参数的密度值之间的差值小于预设阈值时,服务器选取密度值最大的维度参数作为第一聚类中心,并选择排序在后且与第一聚类中心的密度值之间的差值大于预设阈值的维度参数作为第二聚类中心。例如,排序后的第一维度参数、第二维度参数、第三维度参数、第四维度参数的密度值分别为0.77、0.71、0.65、0.52,预设阈值为0.1,聚类个数为3个。因为第一维度参数和第二维度参数密度值之间的差值0.06(=0.77-0.71)<预设阈值0.1,第一维度参数和第三维度参数密度值之间的差值0.12(=0.77-0.65)>预设阈值0.1,所以,当聚类个数为3时,服务器将第一维度参数、第三维度参数和第四维度参数选择为聚类中心。
步骤310,根据聚类中心对列数据进行聚类,并输出聚类分组。
服务器根据聚类中心对列数据进行聚类,并输出聚类分组。聚类算法可以是K均值聚类方法、K-means算法等采用聚类中心进行聚类的算法。
上述移动数据监控分析方法中,从聚类分组的内部特性出发考虑,同一个聚类分组中的点密度具有一定的相关性,而相关性从点到点的距离和密度值反应出来。异常点的距离大于聚类分组的距离且密度值小于正常值。因而可以筛选出高质量的聚类中心,并且具有更高的准确率和更少的迭代次数,能够快速收敛。
在一个实施例中,对获得的查询结果进行数据聚合,得到聚类分组,包括以下步骤:将获得的查询结果分为预设个数的子结果集;根据子结果集生成子任务,并将子任务发送至分布式集群进行聚类运算;接收分布式集群聚类运算完成的分组,对接收到的分组进行合并,得到与维度变量对应的聚类分组。
服务器将获得的查询结果分为预设个数的子结果集,并根据子结果集生成子任务,并将子任务发送至分布式集群进行聚类运算;接收分布式集群聚类运算完成的分组,对接收到的分组进行合并,得到与维度变量对应的聚类分组。分布式集群可以是Map/Reduce编程架构下的分布式集群,子任务可以是分配给子分类器的Map任务,服务器将Map任务交由Hadoop集群调度器进行聚类运算,在Hadoop集群调度器聚类运算完成后,调用Map/Reduce编程架构下的Reduce任务进行子分类器的合并,得到与维度变量对应的聚类分组。
在另一实施例中,将子任务发送至分布式集群进行聚类运算,包括:向分布式集群发送任务调度指令,任务调度指令用于指示分布式集群将子任务分配给分布式集群中的多个计算节点进行聚类运算,并返回运算得到的分组。
服务器向分布式集群发送任务调度指令。例如服务器发送的任务调度指令可以指示分布式集群启动Hadoop集群调度器对Map任务进行调度运行,Hadoop集群调度器将Map任务交由Hadoop集群中的多个计算节点进行聚类运算,并返回运算得到的分组。
上述移动数据监控分析方法中,将列数据进行拆分,并将拆分后的列数据进行运算,可以提高对列数据的处理速度,缩短故障定位的时间。
在一个实施例中,如图4所示,对数据聚合的结果进行可视化展示之后,包括:
步骤402,接收管理终端发送的包含故障时段的故障分析请求。
服务器接收管理终端发送的包含故障时段的故障分析请求。故障时段可以是管理终端发生故障的历史时刻,也可以是系统发生故障时的当前时刻。故障分析请求用于指示服务器对故障时段的日志进行分析的指令,故障分析请求可以是包含故障时段的代码。故障分析请求还可以包含其他分析内容,例如特定区域、特定终端、特定系统版本等。当故障分析请求仅包含故障时段时,服务器进行单时序数据分析;当故障分析请求不只包含故障时段时,服务器进行多时序数据分析,多时序数据指与多个维度变量和时间对应的数据。
步骤404,基于维度标识中的报错标识从与故障时段对应的监控数据中提取出故障数据。
报错变量用于表征日志是否出现故障,其对应的报错标识可以用文字或字符或数字表示,例如,服务器可以设定“正常”对应系统未出现故障,“异常”对应系统出现故障;服务器也可以设定“502、404、500、503”对应系统出现故障,“其余非502、404、500、503”对应系统未出现故障。服务器通过报错标识与故障时段对应的监控数据中提取出故障数据。
步骤406,根据故障数据和聚类分组确定故障分组,并根据故障分组生成故障分析报文发送给管理终端。
服务器根据故障日志和聚类分组确定故障分组。服务器可以将故障日志进行比对,提取出各故障日志中出现的聚类分组,服务器根据提取出的聚类分组生成故障分组。例如,A故障数据可以是XXXX年XX月XX日XX时XX分,上海用户使用华为手机登陆XX网页,登陆失败,手机版本为华为XX版本,服务运营商为联通;B故障数据可以是XXXX年XX月XX日XX时XX分,广州用户使用华为手机登陆YY网页,登陆失败,手机系统版本为华为XX系统版本,服务运营商为移动;C故障数据可以是XXXX年XX月XX日XX时XX分,北京用户使用华为手机登陆ZZ网页,登陆失败,手机系统版本为华为XX系统版本,服务运营商为联通。服务器提取出在这三条故障信息均出现的聚类分组为“华为手机”和“华为XX系统版本”,因而服务器得到的故障分组为“华为手机和华为XX系统版本”。
服务器根据故障分组生成故障分析报文发送给管理终端。服务器可以获取与故障分组对应的预设规则,再根据预设规则生成故障分析报文发送管理终端。预设规则可以是当故障分组包含某一维度变量的聚类分组时,确定故障与该维度变量相关。例如,故障分组包含为“华为手机和华为XX系统版本”,服务器生成的故障分析报文可以是“华为手机的华为XX系统版本在登陆网页中发生登陆失败,请查验华为手机、XX系统版本与网页的兼容性”。
上述移动数据监控分析方法中,服务器从存储列数据的数据库中提取出列数据,因而在数据查询获取的过程中服务器只读取需要的列数据,减少了冗余数据的获取,有效提高了查询获取的速度;服务器对列数据进行聚类,得到与维度变量对应的聚类分组,而后根据故障日志和聚类分组确定故障分组,通过故障分组可以准确地定位故障原因以便管理终端进行后续的维护处理。
在一些实施例中,如图5所示,根据故障日志和聚类分组确定故障分组,包括:
步骤502,对不同维度变量的聚类分组进行排列得到组合排列,当组合排列的系统日志包含故障日志时,判定组合排列为疑似分组。
服务器对不同维度变量的聚类分组进行排列得到组合排列,当组合排列的系统日志包含故障日志时,判定组合排列为疑似分组。组合排列的系统日志包含故障日志,是指组合排列对应的系统日志可以包含所有故障日志,也可以是系统日志包含部分故障日志。服务器可以将不同维度变量的聚类分组逐个进行排列,组合排列中的聚类分组至少系统日志可以包含所有的故障日志为一个,且组合排列中的聚类分组不同属于一个维度变量。
步骤504,通过聚类分组在维度变量的概率计算疑似分组对应的理论故障率,并根据故障数据计算实际故障率。
服务器通过聚类分组在维度变量的概率计算疑似分组对应的理论故障率。理论故障率可以是疑似分组中所有聚类分组的含量乘积。例如,维度变量“城市”对应的聚类分组为上海30%、北京30%、广州30%、其他10%;维度变量“手机厂家”对应的聚类分组为华为20%、小米11%、苹果33%等。疑似分组为“北京、苹果”,服务器计算得到的疑似分组的理论故障率为9.9%(=30%×33%)。服务器还根据故障数据计算实际故障率。实际故障率是同时段中故障数据在系统数据中的数值百分比。
步骤506,将理论故障率与实际故障率最接近的疑似分组确定为故障分组。
服务器将理论故障率与实际故障率最接近的疑似分组确定为故障分组。例如,维度变量“城市”对应的聚类分组为上海30%、北京30%、广州30%、其他10%;维度变量“手机厂家”对应的聚类分组为华为20%、小米11%、苹果33%等;维度变量“手机版本”对应的聚类分组为华为XX版本19%、小米YY版本6%、苹果ZZ1版本23%、苹果ZZ2版本9%等;维度变量“服务运营商”对应的聚类分组为联通35%、移动45%、电信20%等。当北京、苹果、苹果ZZ2系统版本的终端在故障时段报错,服务器根据日志计算得到的实际故障率为0.8%时,服务器对不同维度变量的聚类分组进行排列,得到的疑似分组分别是“苹果”、“北京、苹果”、“北京、苹果、苹果ZZ2系统版本”、“北京、苹果、苹果ZZ2系统版本、联通”等。服务器计算各疑似分组的理论故障率分别为33%、9.9%、0.891%以及0.312%。“北京、苹果、苹果ZZ2系统版本”的理论故障概率与实际故障率最接近,因而服务器判定疑似分组“北京、苹果、苹果ZZ2系统版本”为故障分组。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种移动数据监控分析装置,包括:监控数据接收模块602、待存储数据提取模块604、列数据生成模块606、故障列数据提取模块608和数据展示模块610,其中:
监控数据接收模块602,用于获取移动端传输的监控数据。
待存储数据提取模块604,用于从监控数据中提取与时间对应的包含维度变量的待存储数据,待存储数据携带有维度标识。
列数据生成模块606,用于将具有相同维度标识的待存储数据进行统计归类处理,得到列数据,列数据用于表征维度标识和时间的对应关系。
列数据提取模块608,用于将列数据分布式存储在各个数据库中,当接收到查询请求时,将查询请求分发到各个数据库中,获取每个数据库反馈的查询结果。
数据展示模块610,用于对获得的查询结果进行数据聚合,得到聚类分组,对聚类分组进行可视化展示。
在另一个实施例中,列数据提取模块608还包括指令发送单元,其中:
指令发送单元,用于将查询请求分发到各个数据库中,数据库中通过位图序列的方式存储列数据;查询请求用于指示数据库通过位图算法将查询请求转化为位图获取命令后,获取与位图获取命令对应的位图序列,并将位图序列通过位图算法逆解析成与查询请求对应的列数据。
在一个实施例中,数据展示模块610包括距离计算单元、密度值统计单元、聚类个数获取单元、聚类中心选择单元和聚类单元,其中:
距离计算单元,用于计算列数据中各维度参数之间的距离。
密度值统计单元,用于根据距离统计列数据中每个维度参数的密度值。
聚类个数获取单元,用于获取聚类个数。
聚类中心选择单元,用于对密度值进行降序排序,选择密度值排序在前的维度参数为聚类中心,聚类中心的数量与聚类个数一致。
聚类单元,用于根据聚类中心对列数据进行聚类,并输出聚类分组。
在一个实施例中,数据展示模块610包括列数据分割单元、子任务处理单元和合并单元,其中:
列数据分割单元,用于将获得的查询结果分为预设个数的子结果集。
子任务处理单元,用于根据子结果集生成子任务,并将子任务发送至分布式集群进行聚类运算。
合并单元,用于接收分布式集群聚类运算完成的分组,对接收到的分组进行合并,得到与维度变量对应的聚类分组。
在另一个实施例中,数据展示模块610包括调度指令发送单元,其中:
调度指令发送单元,用于向分布式集群发送任务调度指令,任务调度指令用于指示分布式集群将子任务分配给分布式集群中的多个计算节点进行聚类运算,并返回运算得到的分组。
在一个实施例中,装置还包括故障请求接收模块、故障数据提取模块和故障分析模块,其中:
故障请求接收模块,用于接收管理终端发送的包含故障时段的故障分析请求。
故障数据提取模块,用于基于维度标识中的报错标识从与故障时段对应的监控数据中提取出故障数据。
故障分析模块,用于根据故障数据和聚类分组确定故障分组,并根据故障分组生成故障分析报文发送给管理终端。
在一些实施例中,故障分析模块610包括疑似分组生成单元、故障率计算单元和故障分组确定单元,其中:
疑似分组生成单元,用于对不同维度变量的聚类分组进行排列得到组合排列,当组合排列的系统日志包含故障日志时,判定组合排列为疑似分组。
故障率计算单元,用于通过聚类分组在维度变量的概率计算疑似分组对应的理论故障率,并根据故障数据计算实际故障率。
故障分组确定单元,用于将理论故障率与实际故障率最接近的疑似分组确定为故障分组。
关于移动数据监控分析装置的具体限定可以参见上文中对于移动数据监控分析方法的限定,在此不再赘述。上述移动数据监控分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储实时列数据、聚类个数等与故障分析相关的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种移动数据监控分析方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取移动端传输的监控数据;从监控数据中提取与时间对应的包含维度变量的待存储数据,待存储数据携带有维度标识;将具有相同维度标识的待存储数据进行统计归类处理,得到列数据,列数据用于表征维度标识和时间的对应关系;将列数据分布式存储在各个数据库中,当接收到查询请求时,将查询请求分发到各个数据库中,获取每个数据库反馈的查询结果;对获得的查询结果进行数据聚合,得到聚类分组,对聚类分组进行可视化展示。
在一个实施例中,处理器执行计算机程序时实现的将查询请求分发到各个数据库中,包括:将查询请求分发到各个数据库中,数据库中通过位图序列的方式存储列数据;查询请求用于指示数据库通过位图算法将查询请求转化为位图获取命令后,获取与位图获取命令对应的位图序列,并将位图序列通过位图算法逆解析成与查询请求对应的列数据。
在一个实施例中,处理器执行计算机程序时实现的对获得的查询结果进行数据聚合,得到聚类分组,包括:计算列数据中各维度参数之间的距离;根据距离统计列数据中每个维度参数的密度值;获取聚类个数;对密度值进行降序排序,选择密度值排序在前的维度参数为聚类中心,聚类中心的数量与聚类个数一致;根据聚类中心对列数据进行聚类,并输出聚类分组。
在一个实施例中,处理器执行计算机程序时实现的对获得的查询结果进行数据聚合,得到聚类分组,包括:将获得的查询结果分为预设个数的子结果集;根据子结果集生成子任务,并将子任务发送至分布式集群进行聚类运算;接收分布式集群聚类运算完成的分组,对接收到的分组进行合并,得到与维度变量对应的聚类分组。
在一个实施例中,处理器执行计算机程序时实现的将子任务发送至分布式集群进行聚类运算,包括:向分布式集群发送任务调度指令,任务调度指令用于指示分布式集群将子任务分配给分布式集群中的多个计算节点进行聚类运算,并返回运算得到的分组。
在一个实施例中,处理器执行计算机程序时实现的算机程序被处理器执行时实现的对数据聚合的结果进行可视化展示之后,包括:接收管理终端发送的包含故障时段的故障分析请求;基于维度标识中的报错标识从与故障时段对应的监控数据中提取出故障数据;根据故障数据和聚类分组确定故障分组,并根据故障分组生成故障。
在一个实施例中,处理器执行计算机程序时实现的根据故障数据和聚类分组确定故障分组,包括:对不同维度变量的聚类分组进行排列得到组合排列,当组合排列的系统日志包含故障日志时,判定组合排列为疑似分组;通过聚类分组在维度变量的概率计算疑似分组对应的理论故障率,并根据故障数据计算实际故障率;将理论故障率与实际故障率最接近的疑似分组确定为故障分组。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取移动端传输的监控数据;从监控数据中提取与时间对应的包含维度变量的待存储数据,待存储数据携带有维度标识;将具有相同维度标识的待存储数据进行统计归类处理,得到列数据,列数据用于表征维度标识和时间的对应关系;将列数据分布式存储在各个数据库中,当接收到查询请求时,将查询请求分发到各个数据库中,获取每个数据库反馈的查询结果;对获得的查询结果进行数据聚合,得到聚类分组,对聚类分组进行可视化展示。
在一个实施例中,计算机程序被处理器执行时实现的将查询请求分发到各个数据库中,包括:将查询请求分发到各个数据库中,数据库中通过位图序列的方式存储列数据;查询请求用于指示数据库通过位图算法将查询请求转化为位图获取命令后,获取与位图获取命令对应的位图序列,并将位图序列通过位图算法逆解析成与查询请求对应的列数据。
在一个实施例中,计算机程序被处理器执行时实现的对获得的查询结果进行数据聚合,得到聚类分组,包括:计算列数据中各维度参数之间的距离;根据距离统计列数据中每个维度参数的密度值;获取聚类个数;对密度值进行降序排序,选择密度值排序在前的维度参数为聚类中心,聚类中心的数量与聚类个数一致;根据聚类中心对列数据进行聚类,并输出聚类分组。
在一个实施例中,计算机程序被处理器执行时实现的对获得的查询结果进行数据聚合,得到聚类分组,包括:将获得的查询结果分为预设个数的子结果集;根据子结果集生成子任务,并将子任务发送至分布式集群进行聚类运算;接收分布式集群聚类运算完成的分组,对接收到的分组进行合并,得到与维度变量对应的聚类分组。
在一个实施例中,计算机程序被处理器执行时实现的将子任务发送至分布式集群进行聚类运算,包括:向分布式集群发送任务调度指令,任务调度指令用于指示分布式集群将子任务分配给分布式集群中的多个计算节点进行聚类运算,并返回运算得到的分组。
在一个实施例中,计算机程序被处理器执行时实现的对数据聚合的结果进行可视化展示之后,包括:接收管理终端发送的包含故障时段的故障分析请求;基于维度标识中的报错标识从与故障时段对应的监控数据中提取出故障数据;根据故障数据和聚类分组确定故障分组,并根据故障分组生成故障分析报文发送给管理终端。
在一个实施例中,计算机程序被处理器执行时实现的根据故障数据和聚类分组确定故障分组,包括:对不同维度变量的聚类分组进行排列得到组合排列,当组合排列的系统日志包含故障日志时,判定组合排列为疑似分组;通过聚类分组在维度变量的概率计算疑似分组对应的理论故障率,并根据故障数据计算实际故障率;将理论故障率与实际故障率最接近的疑似分组确定为故障分组。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。