著录项信息
| 专利名称 | 业务数据统计分析方法和装置 |
| 申请号 | CN201210070942.8 | 申请日期 | 2012-03-16 |
| 法律状态 | 暂无 | 申报国家 | 中国 |
| 公开/公告日 | 2013-09-18 | 公开/公告号 | CN103310087A |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
| 申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 | 广东省深圳市福田区振兴路赛格科技园2栋东403室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | 腾讯科技(深圳)有限公司,腾讯云计算(北京)有限责任公司 | 当前权利人 | 腾讯科技(深圳)有限公司,腾讯云计算(北京)有限责任公司 |
| 发明人 | 王翔;王才平 |
| 代理机构 | 深圳市深佳知识产权代理事务所(普通合伙) | 代理人 | 王仲凯 |
摘要
本发明实施例提供了一种业务数据统计分析方法和装置,涉及互联网技术领域,较少硬件资源的使用,实现起来较容易。该方法包括:接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;利用计算机程序对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据;将统计结果数据发送至数据库,以便于所述数据库汇总所述统计结果数据。主要用于数据统计分析。
1.一种业务数据统计分析方法,其特征在于,包括:
接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;其中,所述包括用户识别码的用户应用信息为由业务系统接收并响应用户的使用请求后发送的信息;
利用计算机程序对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据;
将统计结果数据发送至数据库,以便于所述数据库汇总所述统计结果数据。
2.根据权利要求1所述的方法,其特征在于,所述用户应用信息中包括应用操作时间信息,所述将接收到的用户应用信息进行合并存储为:将接收到的用户应用信息中冗余的部分删除后按照所述应用操作时间的先后顺序进行存储;所述方法还包括:
将在预设时间范围内没有发生变化的用户应用信息删除。
3.根据权利要求1或2所述的方法,其特征在于,所述存储空间中被划分出多个第一指定存储区域,每个所述第一指定存储区域中存储第一分区值相同的用户应用信息,所述第一分区值等于所述用户识别码对所述第一指定存储区域数量的余数。
4.根据权利要求3所述的方法,其特征在于,所述用户应用信息中还包括业务编码,所述存储空间中还被划分出多个第二指定存储区域;所述对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据包括:
在每个所述第二指定存储区域中存储第二分区值相同的统计结果数据,所述第二分区值等于所述业务编码对所述第二指定存储区域数量的余数。
5.根据权利要求4所述的方法,其特征在于,所述用户应用信息中还包括国家信息、省份信息、和运营商信息,所述对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据包括:
统计指定国家、或者指定省份、或者指定运营商对于指定业务编号对应的业务的使用人数。
6.根据权利要求5所述的方法,其特征在于,所述用户应用信息中还包括操作编号和预设时长信息,所述对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据还包括:统计指定操作编号对应的操作在所述预设时长内发生的次数。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
通过通用网关接口接收统计数据查询请求,所述操作请求中包含所述指定操作信息;
通过所述通用网关接口发送指定操作编号对应的操作在所述预设时长内发生的次数。
8.一种业务数据统计分析装置,其特征在于,包括:
存储单元,用于接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;其中,所述包括用户识别码的用户应用信息为由业务系统接收并响应用户的使用请求后发送的信息;
统计单元,用于利用计算机程序对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据;
第一发送单元,用于将统计结果数据发送至数据库,以便于所述数据库汇总所述统计结果数据。
9.根据权利要求8所述的装置,其特征在于,所述用户应用信息中包括应用操作时间信息,所述存储单元将接收到的用户应用信息进行合并存储为:所述存储单元将接收到的用户应用信息合并后按照所述应用操作时间的先后顺序进行存储;所述装置还包括:
删除单元,用于将在预设时间范围内没有发生变化的用户应用信息删除。
10.根据权利要求8或9所述的装置,其特征在于,所述存储空间中被划分出多个第一指定存储区域,每个所述第一指定存储区域中存储第一分区值相同的用户应用信息,所述第一分区值等于所述用户识别码对所述第一指定存储区域数量的余数。
11.根据权利要求10所述的装置,其特征在于,所述用户应用信息中还包括业务编码,所述存储空间中还被划分出多个第二指定存储区域;所述统计单元包括:
存储子模块,用于在每个所述第二指定存储区域中存储第二分区值相同的统计结果数据,所述第二分区值等于所述业务编码对所述第二指定存储区域数量的余数。
12.根据权利要求11所述的装置,其特征在于,所述用户应用信息中还包括国家信息、省份信息、和运营商信息,所述统计单元包括:
第一统计子模块,用于统计指定国家、或者指定省份、或者指定运营商对于指定业务编号对应的业务的使用人数。
13.根据权利要求12所述的装置,其特征在于,所述用户应用信息中还包括操作编号和预设时长信息,所述统计单元还包括:
第二统计子模块,用于统计指定操作编号对应的操作在所述预设时长内发生的次数。
14.根据权利要求13所述的装置,其特征在于,还包括:
接收单元,用于通过通用网关接口接收统计数据查询请求,所述操作请求中包含所述指定操作信息;
第二发送单元,用于通过所述通用网关接口发送指定操作编号对应的操作在所述预设时长内发生的次数。
业务数据统计分析方法和装置\n技术领域\n[0001] 本发明涉及互联网技术领域,尤其涉及业务数据统计分析方法和装置。\n背景技术\n[0002] 目前在互联网产品运营中,产品使用情况对于产品的研发方向具有很大的指导价值,于是各种有关产品使用情况的统计数据就显得尤为重要,尤其以业务数据的统计分析最为重要,业务数据包括用户在使用产品过程中产生的任何数据,如某产品在某一时间段在线用户数量和产品中各业务被使用次数都属于业务数据。\n[0003] 以QQ软件为例,现已包括很多种业务,如QQ农场、QQ餐厅、QQ牧场等,为了了解用户对QQ软件的使用情况,经常需要对QQ软件的业务数据进行统计分析。\n[0004] 现有技术中,通过以下方式统计某一时间段在线用户数量和各业务被使用次数:\n各个服务器的业务处理系统采集所辖用户的用户数据,用户数据通常包括用户ID、操作时间、操作ID、应用ID、用户IP地址,所有业务处理系统每隔固定时间段(现在是5分钟)将采集到的用户数据上传到同一个数据统计系统,数据统计系统将接收到的所有用户数据存储到ORACLE数据库中,并利用ORACLE数据库中的用户数据统计某一时间段在线用户数量和各业务被使用次数。\n[0005] 由于目前QQ软件用户已非常多,每天不止有上百亿次的用户操作请求,因此,对于数据统计系统的处理能力要求很高,而搭建具有这样能力的ORACLE数据库统计系统需要很大硬件资源,实现起来很困难。\n发明内容\n[0006] 本发明的实施例提供一种业务数据统计分析方法和装置,较少硬件资源的使用,实现起来较容易。\n[0007] 为达到上述目的,本发明的实施例采用如下技术方案:\n[0008] 一种业务数据统计分析方法,包括:\n[0009] 接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;\n[0010] 利用计算机程序对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据;\n[0011] 将统计结果数据发送至数据库,以便于所述数据库汇总所述统计结果数据。\n[0012] 一种业务数据统计分析装置,包括:\n[0013] 存储单元,用于接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;\n[0014] 统计单元,用于利用计算机程序对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据;\n[0015] 第一发送单元,用于将统计结果数据发送至数据库,以便于所述数据库汇总所述统计结果数据。\n[0016] 本发明实施例提供的业务数据统计分析方法和装置,接收包括用户识别码的用户应用信息后,从存储空间查找存储用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;在将统计结果数据发送至数据库进行统计之前,已经利用计算机程序对用户应用信息按照预设的统计方式进行统计获取统计结果数据,因此,能够大大减少数据库统计的工作量,较少硬件资源的使用,实现起来较容易。\n附图说明\n[0017] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0018] 图1为本发明实施例提供的一种业务数据统计分析方法的流程图;\n[0019] 图2为本发明实施例提供的业务数据统计分析方法的各实体间的信息传送关系示意图;\n[0020] 图3为本发明实施例提供的另一种业务数据统计分析方法的流程图;\n[0021] 图4为本发明实施例中业务数据统计分析装置对用户应用信息存储示意图;\n[0022] 图5为本发明实施例同时在线统计结果的数据结构示意图;\n[0023] 图6为本发明实施例实时统计结果的数据结构示意图;\n[0024] 图7为本发明实施例提供的一种业务数据统计分析装置的结构图;\n[0025] 图8为本发明实施例提供的另一种业务数据统计分析装置的结构图。\n具体实施方式\n[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0027] 本发明实施例提供了一种业务数据统计分析方法,如图1所示,包括:\n[0028] 101、接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储。\n[0029] 102、对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据。\n[0030] 103、将统计结果数据发送至数据库,以便于所述数据库汇总所述数据结果数据。\n[0031] 本实施例提供的业务数据统计分析方法,接收包括用户识别码的用户应用信息后,从存储空间查找存储用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;在将统计结果数据发送至数据库进行统计之前,已经利用计算机程序对用户应用信息按照预设的统计方式进行统计获取统计结果数据,因此,能够大大减少数据库统计的工作量,较少硬件资源的使用,实现起来较容易。\n[0032] 作为本实施例的一种改进,本发明实施例提供另一种业务数据统计分析方法,首先对参与该方法实现的各个实体及各实体间的信息传送关系进行介绍,如图2所示,实现该方法需要业务系统、业务数据统计分析装置、文件数据处理系统、数据库、前台页面,本实施例以介绍同时在线统计和实时统计为例进行说明,因此,前台页面包括同时在线统计页面和实时统计页面。\n[0033] 如图3所示,该方法包括:\n[0034] 301、接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储。\n[0035] 如用户使用QQ软件,用户通过计算机等终端设备向业务系统发出QQ软件使用请求,业务系统接收并响应用户的使用请求,并将包含用户QQ号码的用户应用信息发送至业务数据统计分析装置。\n[0036] 业务系统通常会对应多个业务数据统计分析装置,在向业务数据统计分析装置发送用户应用信息的时候,业务系统会自动选择一个业务数据统计分析装置。优选的选择方式是,用户识别码对业务数据统计分析装置的数量取模,选择编号为取模得到的数值的业务数据统计分析装置。\n[0037] 业务数据统计分析装置接收业务系统发送的包括用户识别码的用户应用信息后,从存储空间查找存储用户识别码对应的用户应用信息的存储地址。\n[0038] 为了删除冗余的用户应用信息,将接收到的用户应用信息进行合并存储。具体的,如图4所示,业务数据统计分析装置的存储空间中被划分出多个第一指定存储区域,每个所述第一指定存储区域中存储第一分区值相同的用户应用信息,所述第一分区值等于所述用户识别码对所述第一指定存储区域数量的余数。\n[0039] 其中,节点A、B、C分别为存储三个不同用户的用户应用信息节点,登录时间分别为\n11:20、11:21、:11:22。节点A、C对第一指定存储区域数量的余数相同,因此节点A、C的用户应用信息存储在同一个第一指定存储区域内,节点B的用户识别码对第一指定存储区域数量的余数与节点A、C的不同,因此,与节点A、C存储在不同的第一指定存储区域中。节点a、a \n1为节点A,节点b、b1为节点B,节点c、c1为节点C的在首次登录后每次进行任何应用操作时产生的用户应用信息。\n[0040] 业务数据统计分析装置接收到用户应用信息后,根据用户识别码计算该用户应用信息的第一分区值,找到该第一分区值对应的第一指定存储区域,将用户应用信息存储在第一指定存储区域内。\n[0041] 进一步可选地,用户应用信息中包括应用操作时间信息,为了及时清理存储空间中长时间没有更新的用户应用信息,按照所述应用操作时间的先后顺序进行存储,在需要对用户应用信息进行清理时,只要设定清理的时间点,便可以将该时间点存储的所有用户应用信息一次性清理,实现起来较快速。\n[0042] 302、对用户应用信息按照预设的统计方式进行统计获取统计结果数据。\n[0043] 用户应用信息中还包括业务编码,存储空间中还被划分出多个第二指定存储区域。优选的,步骤302可以包括:\n[0044] 在每个第二指定存储区域中存储第二分区值相同的统计结果数据,第二分区值等于业务编码对第二指定存储区域数量的余数。\n[0045] 用户应用信息中还可以包括国家信息、省份信息、和运营商信息,优选的,步骤302还可以包括:统计指定国家、或者指定省份、或者指定运营商对于指定业务编号对应的业务的使用人数。\n[0046] 用户应用信息中还可以包括操作编号和预设时长信息,优选的,步骤302还可以包括:统计指定操作编号(actionid)对应的操作在预设时长内发生的次数。\n[0047] 为了能够快速地存储和获取到同时在线统计和实时统计的统计数据,在业务数据统计分析装置内存中分别维护了两块原理相同的数据结构。单条统计结果数据采用key-value(键-值)的方式来进定位和存储。如图5所示,同时在线统计结果的数据结构中key值包括对于每个App(操作)唯一的appid(业务ID)、fid(维度ID)、和fvalue(维度值),其中,appid的值表示具体的业务类型,如appid=1表示QQ农场,appid=2表示QQ餐厅,fid的值表示不同的区域范围或者使用范围,如fid=1表示国家,fid=2表示省份,fid=3表示运营商,fvalue表示在fid确定的区域内的具体范围,如fvalue=1表示中国,fvalue=2表示日本。综上,如appid=1、fid=1、fvalue=2则图5中num的值表示当前在日本使用QQ农场软件的用户的数量。同理,在进行实时统计时,采用如图6所示的数据结构。\n[0048] 在更新结果数据value值的时候,先通过key算得hash值,hash值可以是业务编码对第二指定存储区域数量的余数,然后在ha sh桶中遍历链表,找到key值完全相同的一个节点,然后对value值进行更新操作,如果找不到,就在hash桶的首位分配一个新的节点,写入数据。\n[0049] 303、将统计结果数据发送至数据库,以便于数据库汇总所述数据结果数据。\n[0050] 业务数据统计分析装置在得出统计结果数据后,将统计结果数据发送至数据库,以便于数据库汇总所述数据结果数据。数据库可以是ORACLE数据库。对于一个ORACLE数据库,会有多个业务数据统计分析装置为该ORACLE数据库提供统计结果数据。\n[0051] 304、将在预设时间范围内没有发生变化的用户应用信息删除。\n[0052] 业务数据统计分析装置会定期或者根据操作人员的设置清理存储空间中的用户应用信息,以节省存储空间,提高存储空间的利用率。\n[0053] 305、通过通用网关接口接收统计数据查询请求,操作请求中包含指定操作信息;\n[0054] 业务数据统计分析装置中预设有通用网关程序,供通用网关访问使用,实时统计页面可以向通用网关接口发送Http(hypertext transport protocol,超文本传输协议)请求,通用网关接口与业务数据统计分析装置通过TCP(Transmission Control Protocol,传输控制协议)连接,向业务数据统计分析装置请求获取实时统计结果数据。\n[0055] 306、通过通用网关接口发送指定操作编号对应的操作在预设时长内发生的次数。\n[0056] 本实施例中步骤301-304与步骤305-306之间的执行顺序可以根据实际需要进行调整,在此不做限定。\n[0057] 本实施例提供的业务数据统计分析方法,接收包括用户识别码的用户应用信息后,从存储空间查找存储用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;在将统计结果数据发送至数据库进行统计之前,已经利用计算机程序对用户应用信息按照预设的统计方式进行统计获取统计结果数据,因此,能够大大减少数据库统计的工作量,较少硬件资源的使用,实现起来较容易。\n[0058] 本发明实施例提供了一种业务数据统计分析装置,如图7所示,包括:存储单元71、统计单元72、第一发送单元73。\n[0059] 其中,存储单元71,用于接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;\n[0060] 统计单元72,用于利用计算机程序对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据;\n[0061] 第一发送单元73,用于将统计结果数据发送至数据库,以便于所述数据库汇总所述统计结果数据。\n[0062] 本实施例提供的业务数据统计分析装置,接收包括用户识别码的用户应用信息后,从存储空间查找存储用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;在将统计结果数据发送至数据库进行统计之前,已经利用计算机程序对用户应用信息按照预设的统计方式进行统计获取统计结果数据,因此,能够大大减少数据库统计的工作量,较少硬件资源的使用,实现起来较容易。\n[0063] 作为本实施例的一种改进,本发明实施例提供另一种业务数据统计分析装置,如图8所示,包括:存储单元81、统计单元82、第一发送单元83、删除单元84、接收单元85、第二发送单元86。\n[0064] 其中,存储单元81,用于接收包括用户识别码的用户应用信息后,从存储空间查找存储所述用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;\n[0065] 所述存储空间中被划分出多个第一指定存储区域,每个所述第一指定存储区域中存储第一分区值相同的用户应用信息,所述第一分区值等于所述用户识别码对所述第一指定存储区域数量的余数。\n[0066] 统计单元82,用于利用计算机程序对所述用户应用信息按照预设的统计方式进行统计获取统计结果数据;\n[0067] 第一发送单元83,用于将统计结果数据发送至数据库,以便于所述数据库汇总所述统计结果数据。\n[0068] 所述用户应用信息中包括应用操作时间信息,所述存储单元81将接收到的用户应用信息中冗余的部分删除后进行存储为:所述存储单元81将接收到的用户应用信息中冗余的部分删除后按照所述应用操作时间的先后顺序进行存储;进一步可选的,所述装置还包括:\n[0069] 删除单元84,用于将在预设时间范围内没有发生变化的用户应用信息删除。\n[0070] 所述用户应用信息中还包括业务编码,所述存储空间中还被划分出多个第二指定存储区域;所述统计单82元包括:\n[0071] 存储子模块821,用于在每个所述第二指定存储区域中存储第二分区值相同的统计结果数据,所述第二分区值等于所述业务编码对所述第二指定存储区域数量的余数。\n[0072] 所述用户应用信息中还包括国家信息、省份信息、和运营商信息,所述统计单元82包括:\n[0073] 第一统计子模块822,用于统计指定国家、或者指定省份、或者指定运营商对于指定业务编号对应的业务的使用人数。\n[0074] 所述用户应用信息中还包括操作编号和预设时长信息,所述统计单元82还包括:\n[0075] 第二统计子模块823,用于统计指定操作编号对应的操作在所述预设时长内发生的次数。\n[0076] 接收单元85,用于通过通用网关接口接收统计数据查询请求,所述操作请求中包含所述指定操作信息;\n[0077] 第二发送单元86,用于通过所述通用网关接口发送指定操作编号对应的操作在所述预设时长内发生的次数。\n[0078] 本实施例提供的业务数据统计分析装置,接收包括用户识别码的用户应用信息后,从存储空间查找存储用户识别码对应的用户应用信息的存储地址,将接收到的用户应用信息进行合并存储;在将统计结果数据发送至数据库进行统计之前,已经利用计算机程序对用户应用信息按照预设的统计方式进行统计获取统计结果数据,因此,能够大大减少数据库统计的工作量,较少硬件资源的使用,实现起来较容易。\n[0079] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。\n[0080] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
法律信息
- 2019-08-20
专利权的转移
登记生效日: 2019.08.01
专利权人由腾讯科技(深圳)有限公司变更为腾讯科技(深圳)有限公司
地址由518000 广东省深圳市福田区赛格科技园2栋东403室变更为518044 广东省深圳市福田区振兴路赛格科技园2栋东403室
专利权人变更为腾讯云计算(北京)有限责任公司
- 2016-03-16
- 2014-10-29
实质审查的生效
IPC(主分类): G06F 19/00
专利申请号: 201210070942.8
申请日: 2012.03.16
- 2013-09-18
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-01-06
|
2009-07-29
| | |
2
| |
2007-03-14
|
2005-09-09
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |