一种数据统计方法和装置.pdf

上传人:000****221 文档编号:1300664 上传时间:2018-04-14 格式:PDF 页数:24 大小:1.55MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510967631.5

申请日:

2015.12.21

公开号:

CN106897324A

公开日:

2017.06.27

当前法律状态:

公开

有效性:

审中

法律详情:

公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

北京奇虎科技有限公司; 奇智软件(北京)有限公司

发明人:

刘博文

地址:

100088 北京市西城区新街口外大街28号D座112室(德胜园区)

优先权:

专利代理机构:

北京润泽恒知识产权代理有限公司 11319

代理人:

苏培华

PDF下载: PDF下载
内容摘要

本发明公开了一种数据统计方法和装置。所述方法包括:接收目标进程发送的目标数据;将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于所述项目容器的配置信息创建;在所述统计类型容器中,对所述目标数据进行统计。取得了可以通过简单的配置去适配更多的场景,统计方式更灵活的效果。

权利要求书

1.一种数据统计方法,包括:
接收目标进程发送的目标数据;
将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据
所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于
所述项目容器的配置信息创建;
在所述统计类型容器中,对所述目标数据进行统计。
2.根据权利要求1所述的方法,其特征在于,在所述接收目标进程发
送的目标数据的步骤之前,还包括:
针对各目标进程,创建相应的项目容器;
加载各项目容器下的配置信息;所述配置信息包括至少一个类型容器的
配置信息,每个类型容器的配置信息包括统计类型标识;
根据至少一个类型容器的配置信息,创建各统计类型容器。
3.根据权利要求2所述的方法,其特征在于,所述配置信息还包括:
针对每个项目容器的具备层级关系的多个层级标识。
4.根据权利要求2所述的方法,其特征在于,所述在所述统计类型容
器中,对所述目标数据进行统计的步骤,包括:
在所述目标数据所属的统计类型标识所对应的统计类型容器中,在各层
级标识下,按照层级关系逐级对所述目标数据进行统计。
5.根据权利要求4所述的方法,其特征在于,所述在所述目标数据所
属的统计类型标识所对应的统计类型容器中,在各层级标识下,按照层级关
系逐级对所述目标数据进行统计的步骤,包括:
在所述目标数据所属的统计类型标识所对应的统计类型容器中,在所述
目标数据当前层级的层级标识下进行第一次统计;
在当前层级的上一级的层级标识下进行第二次统计,直到在顶级的层级
标识下统计完毕。
6.根据权利要求1所述的方法,其特征在于,还包括:
预先设置统计接口;所述统计接口由目标服务调用以发送目标数据。
7.根据权利要求1所述的方法,其特征在于,所述目标数据包括:统
计类型容器ID、统计类型标识、统计内容。
8.根据权利要求2-5其中之一所述的方法,其特征在于,所述目标数
据包括:统计类型容器ID、统计类型标识、当前的层级标识、统计内容。
9.一种数据统计装置,包括:
目标数据接收模块,适于接收目标进程发送的目标数据;
目标数据存放模块,适于将所述目标数据放入对应所述目标进程的项目
容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器中;所
述统计类型容器根据属于所述项目容器的配置信息创建;
目标数据统计模块,适于在所述统计类型容器中,对所述目标数据进行
统计。
10.一种数据统计设备,包括:
存储器,加载有多条可执行指令;
处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的
方法:
接收目标进程发送的目标数据;
将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据
所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于
所述项目容器的配置信息创建;
在所述统计类型容器中,对所述目标数据进行统计。

说明书

一种数据统计方法和装置

技术领域

本发明涉及软件技术领域,具体涉及一种数据统计方法和装置。

背景技术

随着科学技术的发展,数据统计在很多方面都具有需求,以便根据统计
得到的数据进行数据挖掘和分析,便于后续的管理。比如对于一个APP
(application应用),其开发完成后,运行时出现的错误数据统计,该应用
中各个页面的访问量和点击量等数据。

在先技术中,通常采用的统计方法是,在程序开发的初期,提前根据统
计需求设计相应的统计逻辑,然后在系统内部编译相应的统计逻辑,在程序
运行时,直接根据内部的逻辑统计数据。其中,所述程序,比如APP等。

但是,上述方案中,一旦程序开发完成之后,就只能统计提前设计的统
计逻辑去统计数据,其方式固定,如果需要对其他数据进行统计,则需要对
系统逻辑进行大量修改。因此,在先技术方案存在着较大的局限性、应用不
灵活。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分
地解决上述问题的数据统计方法和数据统计装置。

依据本发明的一个方面,提供了一种数据统计方法,包括:

接收目标进程发送的目标数据;

将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据
所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于
所述项目容器的配置信息创建;

在所述统计类型容器中,对所述目标数据进行统计。

优选地,在所述接收目标进程发送的目标数据的步骤之前,还包括:

针对各目标进程,创建相应的项目容器;

加载各项目容器下的配置信息;所述配置信息包括至少一个类型容器的
配置信息,每个类型容器的配置信息包括统计类型标识;

根据至少一个类型容器的配置信息,创建各统计类型容器。

优选地,所述配置信息还包括:针对每个项目容器的具备层级关系的多
个层级标识。

优选地,所述在所述统计类型容器中,对所述目标数据进行统计的步骤,
包括:

在所述目标数据所属的统计类型标识所对应的统计类型容器中,在各层
级标识下,按照层级关系逐级对所述目标数据进行统计。

优选地,所述在所述目标数据所属的统计类型标识所对应的统计类型容
器中,在各层级标识下,按照层级关系逐级对所述目标数据进行统计的步骤,
包括:

在所述目标数据所属的统计类型标识所对应的统计类型容器中,在所述
目标数据当前层级的层级标识下进行第一次统计;

在当前层级的上一级的层级标识下进行第二次统计,直到在顶级的层级
标识下统计完毕。

优选地,还包括:

预先设置统计接口;所述统计接口由目标服务调用以发送目标数据。

优选地,所述目标数据包括:统计类型容器ID、统计类型标识、统计内
容。

优选地,所述目标数据包括:统计类型容器ID、统计类型标识、当前的
层级标识、统计内容。

优选地,所述在所述统计类型容器中,对所述目标数据进行统计的步骤
包括:

在所述目标数据所属的统计类型标识所对应的统计类型容器中,按照时
间段,对所述目标数据进行统计。

依据本发明的另一个方面,提供了一种数据统计装置,包括:

目标数据接收模块,适于接收目标进程发送的目标数据;

目标数据存放模块,适于将所述目标数据放入对应所述目标进程的项目
容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器中;所
述统计类型容器根据属于所述项目容器的配置信息创建;

目标数据统计模块,适于在所述统计类型容器中,对所述目标数据进行
统计。

优选地,在所述目标数据接收模块之前,还包括:

项目容器创建模块,适于针对各目标进程,创建相应的项目容器;

配置信息加载模块,适于加载各项目容器下的配置信息;所述配置信息
包括至少一个类型容器的配置信息,每个类型容器的配置信息包括统计类型
标识;

统计类型容器创建模块,适于根据至少一个类型容器的配置信息,创建
各统计类型容器。

优选地,所述配置信息还包括:针对每个项目容器的具备层级关系的多
个层级标识。

优选地,所述目标数据统计模块包括:

目标数据统计子模块,适于在所述目标数据所属的统计类型标识所对应
的统计类型容器中,在各层级标识下,按照层级关系逐级对所述目标数据进
行统计。

优选地,所述目标数据统计子模块包括:

当前层级数据统计子模块,适于在所述目标数据所属的统计类型标识所
对应的统计类型容器中,在所述目标数据当前层级的层级标识下进行第一次
统计;

第二层级数据统计子模块,适于在当前层级的上一级的层级标识下进行
第二次统计,直到在顶级的层级标识下统计完毕。

优选地,还包括:

统计接收设置模块,适于预先设置统计接口;所述统计接口由目标服务
调用以发送目标数据。

优选地,所述目标数据包括:统计类型容器ID、统计类型标识、统计内
容。

优选地,所述目标数据包括:统计类型容器ID、统计类型标识、当前的
层级标识、统计内容。

优选地,所述目标数据统计模块包括:

时间段数据统计子模块,适于在所述目标数据所属的统计类型标识所对
应的统计类型容器中,按照时间段,对所述目标数据进行统计。

依据本发明的另一个方面,提供了一种数据统计设备,包括:

存储器,加载有多条可执行指令;

处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的
方法:

接收目标进程发送的目标数据;

将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据
所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于
所述项目容器的配置信息创建;

在所述统计类型容器中,对所述目标数据进行统计。

根据本发明的数据统计方法和装置,可以接收目标进程发送的目标数
据,并将目标数据放入对应该目标进程的项目容器之下,该目标数据所属的
统计类型标识所对应的统计类型容器中,进而在统计类型容器中,对目标数
据进行统计。相对在先技术,本发明的技术方案,可以在程序开发完成之后,
可以根据业务需要设置各种所需统计的目标数据,克服了在先技术中的统计
方案局限性较大的问题,取得了可以通过简单的配置去适配更多的场景,统
计方式更灵活的效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技
术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它
目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本
领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,
而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示
相同的部件。在附图中:

图1是本发明实施例一提供的一种数据统计方法的步骤流程图;

图2是本发明实施例二提供的一种数据统计方法的步骤流程图;

图3是本发明实施例三提供的一种数据统计方法的步骤流程图;

图4是本发明实施例四提供的一种数据统计方法的步骤流程图;

图5是本发明实施例五提供的一种数据统计装置的结构示意图;

图6是本发明实施例六提供的一种数据统计装置的结构示意图;

图7是本发明实施例七提供的一种数据统计装置的结构示意图;

图8是本发明实施例八提供的一种数据统计装置的结构示意图;以及

图9是本发明实施例九提供的一种数据统计设备的结构示意图。

具体实施方式

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

实施例一

参照图1,示出了本发明实施例一的一种数据统计方法的步骤流程图,
具体可以包括:

步骤S110:接收目标进程发送的目标数据。

本发明实施例可以应用于对不同项目的各种业务数据进行统计。该项目
比如APP等各种程序。本发明实施例采用三层架构的方式,即
resource>group>content。resource是针对不同的目标进程创建的对应的项目
容器,一个目标进程对应一个项目容器,在项目容器resource中可以创建一
个或者多个不同的统计类型容器group,在统计类型容器group中可以设置
配置项key和value;其中,key是用于在group中设置层级关系,一个group
中可以包括多个key,也可以没有key,没有key,则表示该group中没有层
级关系;value可以用来设置在group中的不同的统计类型标识,例如,在
group中设置value为error,则该group可以统计目标进程的error数量。content
是接收到实际数据,content的数据内容依据group中的配置项key和value
进行填写,并将content填充到group中进行存储,以实现对所需统计的业务
数据的统计过程。在后续的实施例中,对上述提到的专有名词按照相应单词
进行代替。

其中,目标进程可以是各种APP等程序的进程,目标进程可以将对应
的目标数据发送至系统。

步骤S120:将所述目标数据放入对应所述目标进程的项目容器之下,所
述目标数据所属的统计类型标识所对应的统计类型容器中;所述统计类型容
器根据属于所述项目容器的配置信息创建。

本发明实施例中,可以根据项目容器的配置信息创建与该项目容器对应
的统计类型容器,例如,对于项目容器的配置信息error,可以创建error类
型的统计类型容器等等。

系统在接收到目标数据之后,可以将目标数据放入对应于目标进程的项
目容器之下,与目标数据所属的统计类型标识对应的统计类型容器中。

步骤S130:在所述统计类型容器中,对所述目标数据进行统计。

本发明实施例中,在对应于统计类型标识的统计类型容器中,对相应的
目标数据进行统计,以获得目标数据的总数量。

而对于具体的统计类型、统计方式将在下述实施例中详细描述,在此不
再加以详细赘述。

本发明实施例可以接收目标进程发送的目标数据,并将目标数据放入对
应该目标进程的项目容器之下,该目标数据所属的统计类型标识所对应的统
计类型容器中,进而在统计类型容器中,对目标数据进行统计。取得了可以
通过简单的配置去适配更多的场景,统计方式更灵活的效果。

实施例二

参照图2,示出了本发明实施例二的一种数据统计方法的步骤流程图,
具体可以包括:

步骤S210:针对各目标进程,创建相应的项目容器。

在本发明实施例中,可以在系统中预先设置相应的配置文件,在配置文
件中可以针对系统中的一个项目,配置了针对该项目的resource参数。从而,
本发明的数据统计工具可以读取该配置文件,从而根据配置的resource参数,
创建与目标进程对应的resource。在本发明实施例中,所述目标进程可以理
解为待统计数据的服务,该服务可以理解为一个进程。当然,对不同的目标
进程,可以进行不同的配置,从而创建不同的resource。例如,针对项目A,
可以创建与之对应的resource,可以命名为:resource-A;针对项目B,可以
创建与之对应的resource,可以命名为:resource-B等等。在实际应用中,本
领域技术人员可以根据实际需要,针对不同的目标进程在配置文件中创建与
之对应的项resource,本发明对此不加以限制。

在不同的resource中都设置有的对应项目ID,该项目ID是唯一的,不
同的resource中的项目ID是不相同的,并且,在配置文件中可以预先设置
相应的项目容器关联列表,将项目ID、项目ID关联的目标进程和resource
名称进行保存,在获取到项目ID后,就可以明确该resource所关联的目标
进程。

例如,在配置文件预先设置的项目ID与目标进程对应关系的列表可以
如下表一所示:

项目ID
目标进程
项目容器名称
001
项目A
resource-A
002
项目B
resource-B
003
项目C
resource-C

表一

在实际应用中,本领域技术人员可以根据实际需要在resource中设置该
resource所对应的唯一项目ID,本发明对此不加以限制。

步骤S220:加载各项目容器下的配置信息;所述配置信息包括至少一个
类型容器的配置信息,每个类型容器的配置信息包括统计类型标识。

本发明实施例中,在为目标进程创建了相应的resource后,可以加载对
应该resource的配置信息。例如,当前创建了resource-A,则加载resource-A
的配置信息。如果当前创建了resource-B,读加载resource-B的配置信息等。

本发明实施例中,针对一个目标进程,可以设置一个配置文件,然后在
该配置文件中设置配置信息,该配置信息包括了一个或者多个类型容器的配
置信息,当然该配置信息实际上与resource对应。例如,针对目标进程A,
在其配置文件中设置了一个配置信息,其对应resource-A。该resource-A的
配置信息包括:error类型容器的配置信息和目标进程A中网页1的PV类型
容器的配置信息。又比如,针对目标进程A,在其配置文件中设置了一个配
置信息,该配置信息对应resource-B,该配置信息包括:error类型容器的配
置信息、目标进程A中网页1的PV类型容器的配置信息和目标进程A中网
页游戏“诛仙”的UV类型容器的配置信息等。在实际应用,本领域技术人
员可以根据实际需要在不同的目标进程中预先设置不同类型容器的配置信
息,本发明对此不加以限制。

相应地,可以理解,在每个类型容器的配置信息中都配置有相应的统计
类型标识value,例如,error类型容器的配置信息中配置有相应的error(报
错信息)标识,可以用于对报错信息数据进行统计;PV类型容器的配置信
息中配置有相应的PV(Page view,页面浏览量)标识,可以用于对PV数
据进行统计,针对不同网页可以设置不同的PV类型容器以进行区分;UV
类型容器的配置信息中配置有相应的UV(unique visitor,访问某个站点或点
击某条信息的不同IP地址的人数)标识,可以用于对UV数据进行统计,
针对网页中不同的站点或某条信息都需要设置对应的UV类型容器进行区
分。

当然,在实际应用中,对于每个resource的配置信息,对于该配置信息
中对应每个group的配置信息中,除了统计类型标识value外,还可以配置
key,该key可以为一个或者多个。如果key为多个,则多个key按照父子关
系配置,则使各个key之间存在层级关系。

步骤S230:根据至少一个类型容器的配置信息,创建各统计类型容器。

本发明实施例中,可以基于一个或者多个类型容器的配置信息,创建对
应个数的group,该group可以用于保存对应统计类型标识value的数据。例
如,在resource-A中,预先设置有error类型容器的配置信息和目标进程A
中网页1的PV类型容器的配置信息,则本发明实施例则创建针对error的
resource,和针对pv的resource。

当然,对于一个类型容器的配置信息,其可以包括多个统计类型标识,
即value值可以为多个。比如value={error、网页1的PV},那么在对应的
group中则统计error、网页1的PV的数据。

在实际应用中,本领域技术人员可以根据实际需要依据不同的配置信息
选择创建的group的个数,本发明对此不加以限制。

在不同的group中都设置有对应的groupID,该groupID是唯一的,不
同的group中的groupID是不相同的,并且,在配置文件中可以预先设置相
应的group关联列表,将groupID、groupID关联的类型容器的配置信息和统
计类型名称进行保存,在获取groupID之后,就可以明确该统计类型容器所
对应的类型容器的配置信息和统计类型标识。

例如,在配置文件中预先设置的groupID与类型容器的配置信息的对应
关系可以如下表二所示:

groupID
类型容器的配置信息
1001
error
1002
页面1的PV
1003
网页1的UV

表二

如表二中,group1001用于统计error信息。

在实际应用,本领域技术人员可以根据实际需要在统计类型容器中设置
该统计类型容器所对应的唯一groupID,然后将该groupID,本发明对此不加
以限制。

步骤S240:接收目标进程发送的目标数据。

本发明实施例中,在系统中启动相应的目标进程运行之后,可以对目标
进程中的目标数据进行获取,其中,在没有设置key的情况下,目标数据中
可以包括:统计类型容器ID(如前述的groupID)、统计类型标识(如前述
的value)、统计内容。

当然,在设置了key的情况下,目标数据包括:统计类型容器ID、统计
类型标识、当前的层级标识(当前层级的key)、统计内容。

可以理解地,上述案例只是为了使得本领域技术人员能够更好地理解本
发明实施例的方案而列举的具体案例,不能以此作为对本发明的限制。

步骤S250:将所述目标数据放入对应所述目标进程的项目容器之下,所
述目标数据所属的统计类型标识所对应的统计类型容器中;所述统计类型容
器根据属于所述项目容器的配置信息创建。

在接收到目标数据之后,可以将目标数据放入目标数据对应的目标进程
的项目容器之下,与目标数据所属统计类型标识对应的统计类型容器中。

步骤S260:在所述统计类型容器中,对所述目标数据进行统计。

如前述例子中,目标数据的统计内容可以为目标进程出现的错误信息,
也可以是对于目标进程中某个网页的点击数据。可以依据目标数据中包含的
groupID选择正确的group;根据value将统计内容写入正确的位置。

比如group1001,中的value={error、网页1的PV、网页1的UV},那
么content的格式可为{**;**;**},其中第一个位置记录error,第二个位
置记录网页1的PV,第三个位置记录网页1的UV。

比如,在收到第一个目标数据为:{group1001,error,页面A崩溃},
那么在content中可以记录{1;0;0},1为错误次数。第二个目标数据为
{group1001,error,页面B弹出错误},在content中可以记录{2;0;0};
第三个目标数据为:{group1001,网页1的PV,11:00被展示},在content
中可以记录{2;1;0};第四个目标数据为:{group1001,网页1的uV,11:01
被点击},在content中可以记录{2;1;1}。其他情况以此类推。

其中,每个目标数据只能有一个value值。

当然,对于存在key的group,比如groupA的key有两层,第一层key=
项目组A,该key的子key包括两个平级的key=项目组A-用户A,key=项
目组A-用户B。目标数据的结构可类似{group1001,error,用户A、页面A
崩溃}

那么对应该group的content的结构为:{key}:{value1;value2……},
比如收到第一个目标数据为{group1001,error,用户A、页面A崩溃},那
么首先在groupA中记录content:{用户A}:{1;0;0}。因为key=用户A
不是顶层key,因此逐级向上统计,再记录content{项目组A}:{1;0;0}。
又收到第二个目标数据为{group1001,error,用户B、页面A崩溃},那么
首先在groupA中记录content:{用户B}:{1;0;0}。因为key=用户A不
是顶层key,因此逐级向上统计,再记录content{项目组A}:{2;0;0}。其
他情况以此类推。

可以理解,在不同的group中,可以设置相应的统计列表将目标数据进
行存放,针对group中只有一个统计类型标识的,可以设置一张统计列表,
将与value对应的目标数据进行保存,例如,group-A中包含有value=error,
在获取到目标数据M后,判断目标数据M中包含的groupID、value是否与
group-A中的groupID、value相同,如果相同,则将目标数据M的统计内容
存放于group-A中。

而针对group中包含有多个value的,可以设置与value的个数相同的列
表,依据目标数据的value,将目标数据在对应的列表中进行保存,例如,
group-B中包含有value:error、网页1的PV,可以在group-B中设置两张
列表,第一个列表用于存放value为error的目标数据,第二个列表中用于存
放value为网页1的PV的目标数据,当获取到目标数据N后,先判断目标
数据N的groupID是否与group-B的groupID相同,如果相同,再判断目标
数据N的value为error标识还是网页1的PV标识,如果目标数据N的value
为error,则将目标数据N的统计内容存放于第一个列表中,否则,将目标
数据N的统计内容存放于第二个列表中。

在本发明实施例中,对于目标进程的服务,可以将本发明的数据统计工
具作为该目标进程的插件,加载到目标进程的服务中。那么该服务运行过程
中,可以调用本发明实施例的数据统计工具的接口产生目标数据,然后将该
目标数据发送至该resource中,resource接收到目标数据后,将其按照相应
group的content格式,写入到相应的group中。

相应地,也可以将group关联数据库,以将与group的groupID和value
相同的目标数据在数据库中进行存储,具体存储的方式与上述列表存储目标
数据的方式相同,本发明对此不再加以详细描述。

在实际应用中,本领域技术人员可以根据实际需要在group中设置存储
目标数据的方式,本发明对此不加以限制。

优选地,所述方法还可以包括:

步骤S270:预先设置统计接口;所述统计接口由目标服务调用以发送目
标数据。

本发明实施例,可以预先设置统计接口,该统计接口可以在启动目标进
程运行之后,由目标进程向对应于目标进程的resource所在的配置文件中发
送目标数据,该配置文件是处于一个被动接收目标数据的状态,在接收到目
标数据之后,根据目标数据中包含的groupID和value,将目标数据存放于
指定的group中,以实现对目标数据的统计。

本发明实施例可以针对各目标进程创建相应的项目容器,加载各项目容
器下的配置信息,根据至少一个类型容器的配置信息创建各统计类型容器,
并在接收目标进程发送的目标数据后,将目标数据放入对应该目标进程的项
目容器之下,该目标数据所属的统计类型标识所对应的统计类型容器中,进
而在统计类型容器中,对目标数据进行统计。取得了可以通过简单的配置去
适配更多的场景,统计方式更灵活的效果。

实施例三

参照图3,示出了本发明实施例三的一种数据统计方法的步骤流程图,
具体可以包括:

步骤S310:针对各目标进程,创建相应的项目容器。

步骤S320:加载各项目容器下的配置信息;所述配置信息包括至少一个
类型容器的配置信息,每个类型容器的配置信息包括统计类型标识、和针对
每个项目容器的具备层级关系的多个层级标识。

本发明实施例二是针对统计类型容器中包含层级关系的情况下,对目标
数据进行统计的方式进行详细描述。

本发明实施例中至少一个类型容器的配置信息还可以包括:针对每个项
目容器的具备层级关系的多个层级标识key,例如,针对目标进程A创建的
resource-A中,该目标进程A可以包括研发部门,研发部门中可以包括进销
存组、售后组及财务组,每个小组中都有5个研发人员,即研发部门—研发
组、售后组、财务组—研发人员的层级关系,并且,每个层级都对应有相应
的层级标识,研发部门对应的层级标识可以为:key1,研发组、售后组、财
务组分别对应的key可以设置为:key1-1、key1-2、key1-3,而研发组、售后
组及财务组的研发人员对应的key可以设置为:key1-1-n、key1-2-n、key1-3-n,
其中,n为1到5中任一正整数,根据部门、小组、人员之间的层级关系对
应的层级标识,可以在创建group时,创建对应的层级关系,将相应的层级
关系存放于group中。

相应地,至少一个类型容器的配置信息中也可以不包含key,即在创建
的group中不存在层级关系;而对于至少一个类型容器的配置信息中只包含
一个key的,在依据至少一个类型容器的配置信息创建的group中对目标数
据进行统计时,是依据整个group中的所有目标数据进行统计的,可以按照
与group中不包含层级关系的方式进行处理,以对目标数据进行统计,本发
明实施例对此不再加以详细描述。

步骤S330:根据至少一个类型容器的配置信息,创建各统计类型容器。

步骤S340:接收目标进程发送的目标数据。

本发明实施例中,目标数据可以包括groupID、value、当前的key、统
计内容。目标数据中可以包括:groupID、value、统计内容,可以依据目标
数据中包含的groupID、value与group中的groupID、value的对应关系,将
目标数据选择存放于正确的group中,即当目标数据中包含的groupID、key、
value全部匹配上group中的groupID、key、value时,才能将该目标数据存
放于该group中。

步骤S350:将所述目标数据放入对应所述目标进程的项目容器之下,所
述目标数据所属的统计类型标识所对应的统计类型容器中;所述统计类型容
器根据属于所述项目容器的配置信息创建。

步骤S360:在所述目标数据所属的统计类型标识所对应的统计类型容器
中,在各层级标识下,按照层级关系逐级对所述目标数据进行统计。

比如groupA的key有两层,第一层key=项目组A,该key的子key包
括两个平级的key=项目组A-用户A,key=项目组A-用户B。目标数据的结
构可类似{group1001,error,用户A、页面A崩溃}

那么对应该group的content的结构为:{key}:{value1;value2……},
比如收到第一个目标数据为{group1001,error,用户A、页面A崩溃},那
么首先在groupA中记录content:{用户A}:{1;0;0}。因为key=用户A
不是顶层key,因此逐级向上统计,再记录content{项目组A}:{1;0;0}。
又收到第二个目标数据为{group1001,error,用户B、页面A崩溃},那么
首先在groupA中记录content:{用户B}:{1;0;0}。因为key=用户A不
是顶层key,因此逐级向上统计,再记录content{项目组A}:{2;0;0}。其
他情况以此类推。

可以理解,本发明实施例中,在group中,可以基于存储的目标数据对
应的key,按照层级关系逐级对目标数据进行统计,例如,对于目标进程A
对应的resource-A中,group-B中存储value为error的目标数据,group-B中
设置有:研发部门—研发组、售后组、财务组—研发人员的层级关系,在对
研发部门的报错信息的数量进行统计时,可以先统计研发组、售后组及财务
组中每一位研发人员的报错信息的数量,然后统计研发组、售后组及财务组
各自组的报错信息的数量,进而将三个组的报错信息的数量相加,即可得到
该研发部门的报错信息的总数量。

当然,本发明实施例中,也可以存在没有key的group,其按照前述方
式在group中记录相应的content。

优选地,所述在所述目标数据所属的统计类型标识所对应的统计类型容
器中,在各层级标识下,按照层级关系逐级对所述目标数据进行统计的步骤,
可以包括:

步骤S3602:在所述目标数据所属的统计类型标识所对应的统计类型容
器中,在所述目标数据当前层级的层级标识下进行第一次统计。

步骤S3604:在当前层级的上一级的层级标识下进行第二次统计,直到
在顶级的层级标识下统计完毕。

本发明实施例中,可以基于group中目标数据当前层级的key下,对目
标数据进行第一统计,如上述案例所述,对研发部门三个组中的所有研发人
员各自的报错信息的数量进行统计,然后对研发人员的上一级的key下的进
销存组、售后组及财务组的总报错信息的数量进行统计,将三个组的报错信
息的数量相加,即可得到整个研发部门总的报错信息的数量。

本发明实施例中,通过读取项目容器中的配置信息,该配置信息中包括
至少一个类型容器的配置信息,每个类型容器的配置信息还包括统计类型标
识和针对每个项目容器的具备层级关系的多个层级标识,在根据至少一个类
型容器的配置信息,在创建统计类型容器的同时,创建对应的层级关系,该
层级关系存储于统计类型容器中,在通过统计类型容器对目标数据进行统计
时,可以基于统计类型容器中的层级关系逐级的对目标数据进行统计,因而
就可以获取到每个层级的目标数据的内容及数量,并且能够获取统计类型容
器中对应于统计类型标识的所有目标数据内容及总目标数据的数量。因而,
本发明实施例通过分层级进行数据统计的方案能够方便系统对各层级中目
标数据以及总的目标数据的统计,可以通过简单的配置去适配更多的场景,
统计方式更加灵活。

实施例四

参照图4,示出了本发明实施例四的一种数据统计方法的步骤流程图,
具体可以包括:

步骤S410:针对各目标进程,创建相应的项目容器。

步骤S420:加载各项目容器下的配置信息;所述配置信息包括至少一个
类型容器的配置信息,每个类型容器的配置信息包括统计类型标识。

步骤S430:根据至少一个类型容器的配置信息,创建各统计类型容器。

步骤S440:接收目标进程发送的目标数据。

本发明实施例中,在系统中启动相应的目标进程运行之后,可以对目标
进程中的目标数据进行获取,其中,目标数据中可以包括:groupID、value、
统计内容,可以依据目标数据中包含的groupID、value与group中的groupID、
value的对应关系,将目标数据选择存放于正确的group中,即当目标数据中
包含的groupID、value与group中的groupID、value完全相同时,才能将该
目标数据存放于该group中。

步骤S450:将所述目标数据放入对应所述目标进程的项目容器之下,所
述目标数据所属的统计类型标识所对应的统计类型容器中;所述统计类型容
器根据属于所述项目容器的配置信息创建。

系统在接收到目标数据之后,可以将目标数据放入目标数据对应的目标
进程的项目容器下,与目标数据所属的统计类型标识对应的统计类型容器
中。

步骤S460:在所述目标数据所属的统计类型标识所对应的统计类型容器
中,按照时间段,对所述目标数据进行统计。

在本发明实施例中,还可以在前述配置信息中,针对各个group设置统
计的时间段,从而可以按时间段对目标数据进行统计。

比如group1001,中的value={error、网页1的PV、网页1的UV},那
么content的格式可为{**;**;**;时间段},其中第一个位置记录error,
第二个位置记录网页1的PV,第三个位置记录网页1的UV。比如时间段为
以某天00:00开始,每10分钟为一个时间段。

比如,在收到第一个目标数据为:{group1001,error,页面A崩溃},
接收时间为12:01,那么在content中可以记录{1;0;0;12:00-12:10},1为
错误次数。第二个目标数据为{group1001,error,页面B弹出错误},接收
时间为12:02,在content中可以记录{2;0;0;12:00-12:10};第三个目标
数据为:{group1001,网页1的PV,11:00被展示},接收时间为12:04,在
content中可以记录{2;1;0};第四个目标数据为:{group1001,网页1的
uV,11:01被点击},在content中可以记录{2;1;1}。

而接收到第四个目标数据为:{group1001,error,页面A崩溃},接收
时间为12:11,那么另起一条记录,则记录为{1;0;0;12:10-12:20}。第五
个目标数据为,{group1001,error,页面A崩溃},接收时间为12:13,则继
续在该条记录中进行统计,如{2;0;0;12:10-12:20}。其他情况以此类推。

那么,对于一个group中的不同时间段的value,有key的话,还包括
key。存在不同时间段的记录。

优选的,在步骤S460之后,还包括:

步骤S470,针对不同的group,将不同时间段下的统计结果,按时间序
列渲染到页面中。

由于group中存储的目标数据都有对应的产生时间,可以不同时间产生
的目标数据,可以以曲线图的形式将group中存储的目标数据对应的目标数
据时间序列,可以在曲线图的任意对应目标数据产生时间的时刻,将该目标
数据的groupID绘制出来,进而,可以依据曲线图也能够比较容易的推断出
在哪个时间段内产生的目标数据比较密集,进而可以从group中获取该时间
段内的目标数据。

本发明实施例通过针对目标进程创建相应的项目容器,加载各项目容器
下的配置信息,该配置信息中包括至少一个类型容器的配置信息,每个类型
容器的配置信息包括统计类型标识,并根据至少一个类型容器的配置信息,
创建各统计类型容器,进而,从目标服务中获取针对目标进程的目标数据,
并将目标数据添加到统计类型容器中,取得了通过简单的配置去适配更多的
场景,统计方式更灵活的效果。并且,可以在统计类型容器中统计任一具体
时间段内的目标数据,更大程度地提高了统计方式的灵活性。

实施例五

参照图5,示出了本发明实施例五提供的一种数据统计装置的结构示意
图,具体可以包括:

目标数据接收模块510,适于接收目标进程发送的目标数据;

目标数据存放模块520,适于将所述目标数据放入对应所述目标进程的
项目容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器
中;所述统计类型容器根据属于所述项目容器的配置信息创建;

目标数据统计模块530,适于在所述统计类型容器中,对所述目标数据
进行统计。

实施例六

参照图6,示出了本发明实施例六的一种数据统计装置的结构示意图,
具体可以包括

项目容器创建模块610,适于针对目标进程,创建相应的项目容器。

配置信息加载模块620,适于加载各项目容器下的配置信息;所述配置
信息包括至少一个类型容器的配置信息,每个类型容器的配置信息包括统计
类型标识。

统计类型容器创建模块630,适于根据至少一个类型容器的配置信息,
创建各统计类型容器。

目标数据接收模块640,适于接收目标进程发送的目标数据。

优选地,所述目标数据可以包括:groupID、统计类型标识、统计内容。

目标数据存放模块650,适于将所述目标数据放入对应所述目标进程的
项目容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器
中;所述统计类型容器根据属于所述项目容器的配置信息创建。

目标数据统计模块660,适于在所述统计类型容器中,对所述目标数据
进行统计。

优选地,所述装置还可以包括:

接口设置模块670,适于预先设置统计接口;所述统计接口由目标服务
调用以发送目标数据。

实施例七:

参照图7,示出了本发明实施例七的一种数据统计装置的结构示意图,
具体可以包括:

项目容器创建模块710,适于针对目标进程,创建相应的项目容器。

配置信息加载模块720,适于加载各项目容器下的配置信息;所述配置
信息包括至少一个类型容器的配置信息,每个类型容器的配置信息包括统计
类型标识。

优选地,所述配置信息还可以包括:针对每个项目容器的具备层级关系
的多个层级标识。

统计类型容器创建模块730,适于根据至少一个类型容器的配置信息,
创建各统计类型容器。

目标数据接收模块740,适于接收目标进程发送的目标数据。

优选地,所述目标数据可以包括:groupID、统计类型标识、当前的层
级标识、统计内容。

目标数据存放模块750,适于将所述目标数据放入对应所述目标进程的
项目容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器
中;所述统计类型容器根据属于所述项目容器的配置信息创建。

目标数据统计模块760,适于在所述统计类型容器中,对所述目标数据
进行统计。

优选地,所述目标数据统计模块760可以包括:

目标数据统计子模块7602,适于在所述目标数据所属的统计类型标识所
对应的统计类型容器中,在各层级标识下,按照层级关系逐级对所述目标数
据进行统计。

优选地,所述目标数据统计子模块7602可以包括:

当前层级数据统计子模块76022,适于在所述目标数据所属的统计类型
标识所对应的统计类型容器中,在所述目标数据当前层级的层级标识下进行
第一次统计;

第二层级数据统计子模块76024,适于在当前层级的上一级的层级标识
下进行第二次统计,直到在顶级的层级标识下统计完毕。

实施例八

参照图8,示出了本发明实施例八的一种数据统计装置的结构示意图,
具体可以包括:

项目容器创建模块810,适于针对目标进程,创建相应的项目容器。

配置信息加载模块820,适于加载各项目容器下的配置信息;所述配置
信息包括至少一个类型容器的配置信息,每个类型容器的配置信息包括统计
类型标识。

统计类型容器创建模块830,适于根据至少一个类型容器的配置信息,
创建各统计类型容器。

目标数据接收模块840,适于接收目标进程发送的目标数据。

目标数据存放模块850,适于将所述目标数据放入对应所述目标进程的
项目容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器
中;所述统计类型容器根据属于所述项目容器的配置信息创建。

目标数据统计模块860,适于在所述统计类型容器中,对所述目标数据
进行统计。

优选地,所述目标数据统计模块860可以包括:

时间段数据统计子模块8602,适于在所述目标数据所属的统计类型标识
所对应的统计类型容器中,按照时间段,对所述目标数据进行统计。

实施例九

参照图9,示出了本发明实施例九的一种数据统计设备的结构示意图,
所述设备900具体可以包括:

存储器910,加载有多条可执行指令;

处理器920,执行所述多条可执行指令;所述多条指令包括执行以下步
骤的方法:

接收目标进程发送的目标数据;

将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据
所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于
所述项目容器的配置信息创建;

在所述统计类型容器中,对所述目标数据进行统计。

优选的,本发明实施例的多条可执行指令还可包括前述各个步骤的方
法,本发明实施例不对其加以限定。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固
有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,
构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定
编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,
并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

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

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

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

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

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理
器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当
理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据
本发明实施例的数据统计设备中的一些或者全部部件的一些或者全部功能。
本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备
或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明
的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形
式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或
者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,
并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换
实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利
要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于
元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助
于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举
了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件
项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将
这些单词解释为名称。

本发明公开了A1、一种数据统计方法,包括:

接收目标进程发送的目标数据;

将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据
所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于
所述项目容器的配置信息创建;

在所述统计类型容器中,对所述目标数据进行统计。

A2、如A1所述的方法,在所述接收目标进程发送的目标数据的步骤之
前,还包括:

针对各目标进程,创建相应的项目容器;

加载各项目容器下的配置信息;所述配置信息包括至少一个类型容器的
配置信息,每个类型容器的配置信息包括统计类型标识;

根据至少一个类型容器的配置信息,创建各统计类型容器。

A3、如A2所述的方法,所述配置信息还包括:针对每个项目容器的具
备层级关系的多个层级标识。

A4、如A2所述的方法,所述在所述统计类型容器中,对所述目标数据
进行统计的步骤,包括:

在所述目标数据所属的统计类型标识所对应的统计类型容器中,在各层
级标识下,按照层级关系逐级对所述目标数据进行统计。

A5、如A4所述的方法,所述在所述目标数据所属的统计类型标识所对
应的统计类型容器中,在各层级标识下,按照层级关系逐级对所述目标数据
进行统计的步骤,包括:

在所述目标数据所属的统计类型标识所对应的统计类型容器中,在所述
目标数据当前层级的层级标识下进行第一次统计;

在当前层级的上一级的层级标识下进行第二次统计,直到在顶级的层级
标识下统计完毕。

A6、如A1所述的方法,还包括:

预先设置统计接口;所述统计接口由目标服务调用以发送目标数据。

A7、如A1所述的方法,所述目标数据包括:统计类型容器ID、统计类
型标识、统计内容。

A8、如A2-A5其中之一所述的方法,所述目标数据包括:统计类型容
器ID、统计类型标识、当前的层级标识、统计内容。

A9、如A1所述的方法,所述在所述统计类型容器中,对所述目标数据
进行统计的步骤包括:

在所述目标数据所属的统计类型标识所对应的统计类型容器中,按照时
间段,对所述目标数据进行统计。

本发明还公开了B10、一种数据统计装置,包括:

目标数据接收模块,适于接收目标进程发送的目标数据;

目标数据存放模块,适于将所述目标数据放入对应所述目标进程的项目
容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器中;所
述统计类型容器根据属于所述项目容器的配置信息创建;

目标数据统计模块,适于在所述统计类型容器中,对所述目标数据进行
统计。

B11、如B10所述的装置,在所述目标数据接收模块之前,还包括:

项目容器创建模块,适于针对各目标进程,创建相应的项目容器;

配置信息加载模块,适于加载各项目容器下的配置信息;所述配置信息
包括至少一个类型容器的配置信息,每个类型容器的配置信息包括统计类型
标识;

统计类型容器创建模块,适于根据至少一个类型容器的配置信息,创建
各统计类型容器。

B12、如B11所述的装置,所述配置信息还包括:针对每个项目容器的
具备层级关系的多个层级标识。

B13、如B11所述的装置,所述目标数据统计模块包括:

目标数据统计子模块,适于在所述目标数据所属的统计类型标识所对应
的统计类型容器中,在各层级标识下,按照层级关系逐级对所述目标数据进
行统计。

B14、如B13所述的装置,所述目标数据统计子模块包括:

当前层级数据统计子模块,适于在所述目标数据所属的统计类型标识所
对应的统计类型容器中,在所述目标数据当前层级的层级标识下进行第一次
统计;

第二层级数据统计子模块,适于在当前层级的上一级的层级标识下进行
第二次统计,直到在顶级的层级标识下统计完毕。

B15、如B10所述的装置,还包括:

统计接收设置模块,适于预先设置统计接口;所述统计接口由目标服务
调用以发送目标数据。

B16、如B10所述的装置,所述目标数据包括:统计类型容器ID、统计
类型标识、统计内容。

B17、如B11-B14其中之一所述的装置,所述目标数据包括:统计类型
容器ID、统计类型标识、当前的层级标识、统计内容。

B18、如B10所述的装置,所述目标数据统计模块包括:

时间段数据统计子模块,适于在所述目标数据所属的统计类型标识所对
应的统计类型容器中,按照时间段,对所述目标数据进行统计。

本发明还公开了C19、一种数据统计设备,包括:

存储器,加载有多条可执行指令;

处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的
方法:

接收目标进程发送的目标数据;

将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据
所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于
所述项目容器的配置信息创建;

在所述统计类型容器中,对所述目标数据进行统计。

一种数据统计方法和装置.pdf_第1页
第1页 / 共24页
一种数据统计方法和装置.pdf_第2页
第2页 / 共24页
一种数据统计方法和装置.pdf_第3页
第3页 / 共24页
点击查看更多>>
资源描述

《一种数据统计方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种数据统计方法和装置.pdf(24页珍藏版)》请在专利查询网上搜索。

本发明公开了一种数据统计方法和装置。所述方法包括:接收目标进程发送的目标数据;将所述目标数据放入对应所述目标进程的项目容器之下,所述目标数据所属的统计类型标识所对应的统计类型容器中;所述统计类型容器根据属于所述项目容器的配置信息创建;在所述统计类型容器中,对所述目标数据进行统计。取得了可以通过简单的配置去适配更多的场景,统计方式更灵活的效果。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1